LeetCode:Range Sum Query - Immutable
2015-11-16 10:11
127 查看
问题描述:
Given an integer array nums, find the sum of the elements between indices i and j (i ≤ j), inclusive.
Example:
Note:
You may assume that the array does not change.
There are many calls to sumRange function.
思路:
1、由于多次调用,所以要将求和放在构造函数中实现;
2、在sumRange中只需将前面的和减去就可以。
JAVA代码:
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.
思路:
1、由于多次调用,所以要将求和放在构造函数中实现;
2、在sumRange中只需将前面的和减去就可以。
JAVA代码:
public class NumArray { int[] sums; public NumArray(int[] nums) { sums = new int[nums.length]; System.arraycopy(nums, 0, sums, 0, nums.length); for(int i = 1; i<sums.length; i++) { sums[i] += sums[i-1]; } } public int sumRange(int i, int j) { if(i > j || i < 0 || j < 0 || j >= sums.length) return 0; return i == 0 ? sums[j] : (sums[j] - sums[i-1]); } };
相关文章推荐
- jquerry运用
- [60]Permutation Sequence
- WPF Prism Request Navigate activation error
- 关于isset使用产生Can't use function return value in write context错误
- 无法打开编译器生成的文件:“../../build/vs71/release/v100/MD_MBCS\json_value.
- iOS UIViewController生命周期
- TEST DESIGN TECHNIQUES: AN OVERVIEW
- IBM Bluemix 是什么?
- qt QSqlQuery
- Android 高级UI设计笔记07:RecyclerView 的使用(ListView的扩展)
- CYC-UIViewController的生命周期及iOS程序执行顺序
- (java)Implement Queue using Stacks
- String,StringBuffer与StringBuilder的区别??
- Android UI之代码动态设置ImageView的宽度和高度
- UITableViewEdit
- break 与 continue的区别
- UITableView的一些常用方法
- NGUI -- UICamera
- 读《The Building a head thing Business When about there Are No》《创业维艰》
- LintCode "Longest Increasing Continuous subsequence II" !!