9 篇
常见数据结构专区
题目描述 有一个正整数数组 arr,现给你一个对应的查询数组 queries,其中 queries[i] = [Li, Ri]。 对于每个查询 i,请你计算从 Li 到 Ri 的 XOR 值(即 arr[Li] XOR arr[Li+1] XOR ... XOR arr[Ri])作为本次查询的结果。 返回一个包含给定查
题目描述 给你一个整数数组 nums。定义一个子数组的和的绝对值为: abs(nums[l] + nums[l+1] + ... + nums[r]) 其中 abs(x) 的含义如下: 如果 x 是负整数,那么 abs(x) = -x 如果 x 是非负整数,那么 abs(x) = x 请你找出 nums 中和的绝对
题目描述 给你一个下标从 0 开始的整数数组 nums。 一次操作中,你可以: 选择两个不同下标 i 和 j,满足 0 <= i, j < nums.length。 选择一个非负整数 k,满足 nums[i] 和 nums[j] 的二进制表示中第 k 位都是 1。 将 nums[i] 和 nums[j] 都减去 2^
题目描述 给你两个长度相同的字符串 s 和 t,以及两个整数数组 nextCost 和 previousCost。 一次操作中,你可以选择 s 中的一个下标 i,执行以下操作之一: 将 s[i] 切换为字母表中的下一个字母,如果 s[i] == 'z' ,切换后得到 'a' 。操作的代价为 nextCost[j] ,
题目描述 给你两个整数数组 prices 和 strategy,其中: prices[i] 表示第 i 天某股票的价格。 strategy[i] 表示第 i 天的交易策略: -1 表示买入一单位股票 0 表示持有股票 1 表示卖出一单位股票 同时给你一个偶数整数 k,你可以对 strategy 进行最多一次修
题目描述 给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。 知识边界 这道题的核心是前缀最大值与后缀最大值。 对于任意位置 i,它最终能接的雨水高度,取决于: 左边最高的柱子 右边最高的柱子 只有左右两侧都足够高,当前位置才能存水。并且水位由两侧较矮的那一边决定,因
题目描述 给你一个整数数组 nums 和一个整数 k,判断是否存在一个长度至少为 2 的连续子数组,使得该子数组元素和是 k 的倍数。 等价地说,是否存在下标区间 [l, r](r - l + 1 >= 2),满足: (nums[l] + nums[l+1] + ... + nums[r]) % k == 0 如果
题目描述 给你一个整数数组 nums ,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。 子数组是数组中的一个连续部分。 知识边界 这道题主要涉及数组遍历、前缀和和最值维护。 1. 数组与切片 在 Go 中,这类题通常使用切片 []int 表示整数序列。 例如: nums := []int{
题目描述 给定一个由小写字母组成的字符串 s,以及一个同长度整数数组 shifts。 对于每个 shifts[i] = x,将 s 的前 i+1 个字符整体向后移位 x 次(字母表循环,z -> a)。 求应用全部移位操作后的最终字符串。 知识边界 这题的核心是前缀影响的反向累加(也可理解为后缀和思路): shift