303. Range Sum Query
来源:互联网 发布:五线谱打谱软件mac 编辑:程序博客网 时间:2024/04/30 04:51
题目:
Given an integer array nums, find the sum of the elements between indices i and j (i ≤ j), inclusive.
Example:
Given nums = [-2, 0, 3, -5, 2, -1]sumRange(0, 2) -> 1sumRange(2, 5) -> -1sumRange(0, 5) -> -3
Note:
- You may assume that the array does not change.
- There are many calls to sumRange function.
题解:
这题比较容易。一种方法是对于sumRange(i,j)可以遍历从i到j的数据然后进行相加;另一种可行的算法是(以下代码是指这一方法)可以用从0-j的数据和减去0-i的数据和。
具体代码如下:
class NumArray {public: NumArray(vector<int> nums) { int len = nums.size(); sum = new int[len]; int k = 0; for (int i = 0; i < len; i ++) { k += nums[i]; sum[i] = k; } } int sumRange(int i, int j) { if (i == 0) { return sum[j]; } if (j == 0) { return sum[0]; } return sum[j] - sum[i - 1]; }private: int *sum; };/** * Your NumArray object will be instantiated and called as such: * NumArray obj = new NumArray(nums); * int param_1 = obj.sumRange(i,j); */end!
阅读全文
0 0
- 303. Range Sum Query
- 303. Range Sum Query
- 303. Range Sum Query
- 303. Range Sum Query
- 303. Range Sum Query
- 303. Range Sum Query
- 303. Range Sum Query
- 303. Range Sum Query
- 303. Range Sum Query
- 303. Range Sum Query
- 303. Range Sum Query
- 303. Range Sum Query
- 303. Range Sum Query
- 303. Range Sum Query
- 303. Range Sum Query
- 303. Range Sum Query
- 303. Range Sum Query
- 303. Range Sum Query
- Python基础-元类
- 每日算法(二)
- 协调者布局:CoordinatorLayout
- Handler和Timer实现倒计时跳转页面
- Visual Studio的一些帮助提升代码速度的小技巧
- 303. Range Sum Query
- 命令行进度条实现
- redis基本部署
- g729编解码的总结(2)
- 表单js验证
- 把java代码导成jar包以及安装包的教程
- Spark学习1
- Java中的集合
- Hibernate对象关系映射