此博客链接:https://www.cnblogs.com/ping2yingshi/p/13739180.html
区域和检索
题目链接:https://leetcode-cn.com/problems/range-sum-query-immutable/submissions/
给定一个整数数组 nums,求出数组从索引 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
题解:
思路:题目说可以把数组看成一个固定值,所以把数组当成固定值,在构造方法中,接收数组,在求和方法中,对数组中的区间求和。
代码:
class NumArray { int[] nums; public NumArray(int[] nums) { this.nums= nums; } public int sumRange(int i, int j) { int sum=0; while(i<=j) { sum=sum+nums[i]; i++; } return sum; } }
不过这个方案提交后,内存和耗时都挺高的。主要为还没有用到动态规划做啊。