leetcode 303. Range Sum Query
来源:互联网 发布:慈善协会网站源码 编辑:程序博客网 时间:2024/06/05 04:35
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.
解法1(self):
class NumArray {public: vector<int>::size_type n; vector<int> num; NumArray(vector<int> nums) { num=nums; n=num.size(); } int sumRange(int i, int j) { int sum=0; if(i<0||i>=n||j<0||j>=n) return 0; for(vector<int>::size_type k=i;k<=j;k++) sum+=num[k]; return sum; }};/** * Your NumArray object will be instantiated and called as such: * NumArray obj = new NumArray(nums); * int param_1 = obj.sumRange(i,j); */解法2:子数列和,动态规划
因为是大量调用计算,需要考虑计算效率。这里使用子数列和的方法(求得子数列的累加);
class NumArray {public: NumArray(const vector<int> &nums) { accu.push_back(0); for (const int num : nums) accu.push_back(accu.back() + num); } int sumRange(int i, int j) { return accu[j + 1] - accu[i]; } vector<int> accu;};// Your NumArray object will be instantiated and called as such:// NumArray numArray(nums);// numArray.sumRange(0, 1);// numArray.sumRange(1, 2);
0 0
- 303.[LeetCode]Range Sum Query
- LeetCode-303. Range Sum Query
- [LeetCode]303. Range Sum Query
- LeetCode#303. Range Sum Query
- leetcode 303. Range Sum Query
- [LeetCode]303. Range Sum Query
- LeetCode 303. Range Sum Query
- LeetCode 303. Range Sum Query
- LeetCode 303. Range Sum Query
- leetcode-303. Range Sum Query
- LeetCode 303. Range Sum Query
- leetcode.303.Range Sum Query
- leetcode 303. Range Sum Query
- leetcode 303. Range Sum Query
- [leetcode]: 303. Range Sum Query
- [Leetcode] 303. Range Sum Query
- [LeetCode]303. Range Sum Query
- leetcode 303. Range Sum Query
- PHP程序开发之字母大小写转换相关函数介绍
- 原生态jdbc查询mysql数据库表记录
- 2017春FPGA计数器作业
- Java-LeetCode-ClimbingStairs
- SRM573 Div1Medium Ski Resorts
- leetcode 303. Range Sum Query
- Spring身份验证+CXF拦截器+RESTful
- Bootstrap 表格内容水平、垂直居中
- 1009. Product of Polynomials (25)
- Huffman编码原理(C++,java实现)
- 最长回文 hdu3068 manacher
- SpringBoot非官方教程 | 第五篇:springboot整合 beatlsql
- 2402存储一个数据
- java从服务器上传本地图片到图片服务器