leetCode303. 数组范围求和 - 顺序不变
2018-04-03 19:35
162 查看
题目描述提示帮助提交记录社区讨论阅读解答随机一题给定一个数组,求出数组范围 i 到 j (i ≤ j) 的元素总和,包含 i, j 两点。例如:给定nums = [-2, 0, 3, -5, 2, -1],?求和函数为sumRange()
sumRange(0, 2) -> 1
sumRange(2, 5) -> -1
sumRange(0, 5) -> -3注意:你可以假设数组不变。
会多次调用 sumRange 方法。
解题思路:开始想在sumRange里面写相加的方法,后来发现用时过长,于是借鉴了另一位博主的思路https://blog.csdn.net/renxingzhadan/article/details/51835660
sumRange(0, 2) -> 1
sumRange(2, 5) -> -1
sumRange(0, 5) -> -3注意:你可以假设数组不变。
会多次调用 sumRange 方法。
public class NumArray { private int[] array; public NumArray(int[] nums) { array = new int[nums.length]; array = nums.clone(); for (int i = 1; i < array.length; i++) { array[i]+=array[i-1]; } } public int sumRange(int i, int j) { if(i<0||i>array.length-1||j>array.length-1||i>j) return 0; return i==0?array[j]:array[j]-array[i-1]; } public static void main(String[] args) { int[] nums = {-2, 0, 3, -5, 2, -1}; NumArray numArray = new NumArray(nums); System.out.println(numArray.sumRange(0, 2)); System.out.println(numArray.sumRange(2, 5)); System.out.println(numArray.sumRange(0, 5)); } }
解题思路:开始想在sumRange里面写相加的方法,后来发现用时过长,于是借鉴了另一位博主的思路https://blog.csdn.net/renxingzhadan/article/details/51835660
相关文章推荐
- 303. Range Sum Query - Immutable(范围求和查询-数组不变)
- LeetCode 303. Range Sum Query - Immutable(数组求和)
- [LeetCode-34] Search for a Range (寻找有序数组中关键值的索引范围)
- 【原创】将一个数组中的0元素全部排到数组的右边,其他元素相对顺序保持不变。
- leetcode题解:Search for a Range (已排序数组范围查找)
- 剑指offer题目描述 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。
- 调整数组顺序使奇数位于偶数前面,偶数和偶数之间的相对位置不变
- 给定一个无序数组,请调整该数组,调整成奇数放在数组的左边,偶数放在数组的右边。但是奇数与奇数之间的相对顺序不变,偶数和偶数之间的相对顺序也不变。
- LeetCode | 632. Smallest Range求多个数组拥有最小范围的一个交集难题
- 给定一个数组nums,写一个函数将所有的值移动0到最后,同时保持非零元素的相对顺序不变
- 调整数组顺序使奇数位于偶数前面,偶数和偶数之间的相对位置不变
- 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。
- leetcode 486. Predict the Winner 预测最后赢家+数组头尾部取元素求和+动态规划DP
- 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。
- string数组相加,去重,且保持顺序不变
- 题目1516:调整数组顺序使奇数位于偶数前面,并保证奇数和奇数,偶数和偶数之间的相对位置不变
- 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于位于数组的后半部分,并保证奇数和奇数,偶数和偶数之间的相对位置不变。
- [LeetCode]—Search for a Range 有序数组查找target的下标范围
- LeetCode 40 Combination Sum II(数组中求和等于target的所有组合)
- LeetCode 34. Search for a Range(有序数组,查找给定值范围)