303. 区域和检索 - 数组不可变

给定一个整数数组 nums,求出数组从索引 i 到 j (i ≤ j) 范围内元素的总和,包含 i, j 两点。

示例:

给定 nums = [-2, 0, 3, -5, 2, -1],求和函数为 sumRange()

sumRange(0, 2) -> 1

sumRange(2, 5) -> -1

sumRange(0, 5) -> -3

说明:

你可以假设数组不可变。

会多次调用 sumRange 方法。

class NumArray {

      private int[] sums;

    public NumArray(int[] nums) {
sums = new int[nums.length];
if (nums.length == 0) {
return;
}
sums[0] = nums[0];
for (int i = 1; i < nums.length; i++) {
sums[i] += sums[i - 1] + nums[i];
}
} public int sumRange(int i, int j) {
if (i == 0) {
return sums[j];
} else {
return sums[j] - sums[i - 1];
}
}
} /**
* Your NumArray object will be instantiated and called as such:
* NumArray obj = new NumArray(nums);
* int param_1 = obj.sumRange(i,j);
*/

最新文章

  1. 使用MATLAB对图像处理的几种方法(下)
  2. Java jdbc 连接oracle之三(封装工具类)
  3. 写出优美代码的两个方式:一步到位VS迭代优化
  4. 在Hadoop平台跑python脚本
  5. 一致性hash算法——之二
  6. JDE函数--GetUDC(B函数)
  7. [Whole Web] [Node.js] [Browserify] [Grunt] Automation task with grunt-browserify &amp; grunt-contrib-watch
  8. Global build settings
  9. find: missing argument to `-exec&#39;
  10. Angular之指令Directive系列
  11. WebService - [Debug] java.net.BindException: Can&#39;t assign requested address
  12. js 中innerHTML,innerText,outerHTML,outerText的区别
  13. Android Studio 删除多余的虚拟设备(Virtual Device)
  14. 用GDB调试程序(三)
  15. vi/vim使用
  16. Linux常用基本命令:三剑客命令之-awk内置变量与自定义变量
  17. 服务网关zuul之七:zuul中的动态刷新路由配置
  18. wpf根据X与Y轴获取内部值
  19. 20155338《网络对抗》Exp6 信息搜集与漏洞扫描
  20. CentOS 7 安装方式汇总

热门文章

  1. 如何使用apt-get在ubuntu系统上安装OpenJDK 8
  2. Python求差集
  3. 使用npoi导入Excel - 带合并单元格--附代码
  4. Spring Cloud认知学习(一):Spring Cloud介绍与Eureka使用
  5. supersqli
  6. pytest——pycharm中右击运行(run)没有问题,在terminal中运行pytest报错:E ModuleNotFoundError: No module named
  7. MYSQL8 常用操作
  8. 终于明白了vue使用axios发送post请求时的坑及解决原理
  9. LAMP搭建wordpress
  10. 02 初级版web框架