303. Range Sum Query - Immutable

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:

  1. You may assume that the array does not change.
  2. There are many calls to sumRange function.
package leetcode.easy;

class NumArray1 {
private int[] data; public NumArray1(int[] nums) {
data = nums;
} public int sumRange(int i, int j) {
int sum = 0;
for (int k = i; k <= j; k++) {
sum += data[k];
}
return sum;
}
} class NumArray3 {
private int[] sum; public NumArray3(int[] nums) {
sum = new int[nums.length + 1];
for (int i = 0; i < nums.length; i++) {
sum[i + 1] = sum[i] + nums[i];
}
} public int sumRange(int i, int j) {
return sum[j + 1] - sum[i];
}
} /**
* Your NumArray object will be instantiated and called as such: NumArray obj =
* new NumArray(nums); int param_1 = obj.sumRange(i,j);
*/
public class RangeSumQueryImmutable {
@org.junit.Test
public void test1() {
int[] nums = { -2, 0, 3, -5, 2, -1 };
NumArray1 obj = new NumArray1(nums);
int param_1 = obj.sumRange(0, 2);
int param_2 = obj.sumRange(2, 5);
int param_3 = obj.sumRange(0, 5);
System.out.println(param_1);
System.out.println(param_2);
System.out.println(param_3);
} @org.junit.Test
public void test3() {
int[] nums = { -2, 0, 3, -5, 2, -1 };
NumArray3 obj = new NumArray3(nums);
int param_1 = obj.sumRange(0, 2);
int param_2 = obj.sumRange(2, 5);
int param_3 = obj.sumRange(0, 5);
System.out.println(param_1);
System.out.println(param_2);
System.out.println(param_3);
}
}

最新文章

  1. .NET Core下的日志(2):日志模型详解
  2. Asp.Net MVC 扩展 Html.ImageFor 方法详解
  3. 将数据导入PostGIS
  4. 关于RichTextField2.0表情显示错乱的问题!
  5. MySQL Python教程(4)
  6. Linq排序,获取前5条数据
  7. ipython
  8. OC语言-05-OC语言-内存管理
  9. javascript值和引用
  10. hdu2053
  11. Java迷题:等于,还是不等于?
  12. Girls: different perspectives to consider
  13. PYTHON压平嵌套列表
  14. 本来运行的好的Ajax.dll怎么突然不起作用了
  15. HDOJ(HDU) 2164 Rock, Paper, or Scissors?
  16. perl return和break
  17. 从尾到头打印链表--《剑指offer》
  18. CMake安装grpc生成gRPCTargets.cmake文件
  19. odoo12.0 在Ubutu 18.04下环境的搭建
  20. zookeeper的Java客户端API

热门文章

  1. LightOJ - 1226 - One Unit Machine(排列组合)
  2. 4:ELK分析tomcat日志
  3. Oracle 日期型 将timestamp类型转换为date类型
  4. Go Node.js 生成的exe公布成windows服务
  5. AJAX备忘
  6. 转载:Spark GraphX详解
  7. (1)Go变量声明、赋值和常量
  8. ROS里程计
  9. FCS省选模拟赛 Day7
  10. mysql忘记密码恢复