Range Sum Query - Immutable
来源:互联网 发布:服装cad软件排名 编辑:程序博客网 时间:2024/04/28 13:14
题目链接
原题
Given an integer array nums, find the sum of theelements 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) -> -3Note:You may assume that the array does not change.There are many calls to sumRange function.
思路
动态规划.
code
class NumArray {public: NumArray(vector<int> &nums) { if(!nums_.empty()) { nums_.clear(); } if(!sums_.empty()) { sums_.clear(); } if(nums.empty()) return; for(int i = 0; i < nums.size(); i++) { nums_.push_back(nums[i]); // if(i == 0) { // sums_.push_back(nums_[i]); // } else { // sums_.push_back(nums_[i] + sums_[i - 1]); // } } sums_.push_back(nums_[0]); for(int i = 1; i < nums.size(); i++) { sums_.push_back(nums_[i] + sums_[i - 1]); } } int sumRange(int i, int j) { int sum = 0; if(j < i) std::swap(i, j); // for(int idx = i; idx <= j; idx++) { // sum += nums_[idx]; // } return sums_[j] - sums_[i] + nums_[i]; return sum; }private: vector<int> nums_; vector<int> sums_;};// Your NumArray object will be instantiated and called as such:// NumArray numArray(nums);// numArray.sumRange(0, 1);// numArray.sumRange(1, 2);
0 0
- Range Sum Query - Immutable
- Range Sum Query - Immutable
- Range Sum Query - Immutable
- Range Sum Query - Immutable
- Range Sum Query - Immutable
- Range Sum Query - Immutable
- Range Sum Query - Immutable
- Range Sum Query - Immutable
- Range Sum Query - Immutable
- Range Sum Query - Immutable
- Range Sum Query - Immutable
- Range Sum Query - Immutable
- Range Sum Query - Immutable
- Range Sum Query - Immutable
- Range Sum Query - Immutable
- Range Sum Query - Immutable
- Range Sum Query - Immutable
- Range Sum Query - Immutable
- Python生成excel文档
- 培养思考的意识
- Event事件
- 关于样式的覆盖
- [转]C#:用SqlBulkCopy来实现批量插入数据
- Range Sum Query - Immutable
- BMP文件的读取与写入
- 3D开发基础之投影,变换,光照,纹理
- mvc 执行说明 再次写
- 孩子指针表示法关于前序遍历的括号表示和凹入表示
- 实验周作业~~QQ聊天记录的处理
- java访问权限控制表
- 多线程知识总结
- 黑马程序员——OC基础01—类和对象