<LeetCode OJ> 303. Range Sum Query - Immutable
2015-12-18 20:30
766 查看
303. Range Sum Query - Immutable
My SubmissionsQuestion
Total Accepted: 14338 Total
Submissions: 59913 Difficulty: Easy
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) -> 1 sumRange(2, 5) -> -1 sumRange(0, 5) -> -3
Note:
You may assume that the array does not change.
There are many calls to sumRange function.
分析:
技巧题,,申请数组先算出结果,计算时直接获取结果进行相加减即可
class NumArray { public: NumArray(vector<int> &nums) {//因为会被大量调用,所以先把所有的和算出来 vec=nums; int sum = 0; for (int i = 0; i < nums.size(); i++) { sum += nums[i]; sumArray.push_back(sum); } } int sumRange(int i, int j) { int sumi=sumArray[i]; int sumj=sumArray[j]; return sumj-sumi+vec[i]; } vector<int> vec; vector<int> sumArray; }; // Your NumArray object will be instantiated and called as such: // NumArray numArray(nums); // numArray.sumRange(0, 1); // numArray.sumRange(1, 2);
注:本博文为EbowTang原创,后续可能继续更新本文。如果转载,请务必复制本条信息!
原文地址:http://blog.csdn.net/ebowtang/article/details/50354078
原作者博客:http://blog.csdn.net/ebowtang
相关文章推荐
- 只有程序员看的懂的面试圣经|如何拿下编程面试
- 下一次技术面试时要问的 3 个重要问题
- 用批处理解决数学问题的代码第1/4页
- ruby 数组使用教程
- Ruby中的数组和散列表的使用详解
- C#数据结构之顺序表(SeqList)实例详解
- C#实现AddRange为数组添加多个元素的方法
- C#比较二个数组并找出相同或不同元素的方法
- C#动态调整数组大小的方法
- 详解Lua中的数组概念知识
- Lua教程(七):数据结构详解
- Perl中的列表和数组学习笔记
- 探索PowerShell (八) 数组、哈希表(附:复制粘贴技巧)
- C#中数组初始化与数组元素复制的方法
- 解析从源码分析常见的基于Array的数据结构动态扩容机制的详解
- PHP程序员面试 切忌急功近利(更需要注重以后的发展)
- C#交错数组用法实例
- Linux Shell 数组建立及使用技巧
- PowerShell数组的一些操作技巧
- C#通过yield实现数组全排列的方法