zoukankan      html  css  js  c++  java
  • LeetCode_303. Range Sum Query

    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);
    	}
    }
    
  • 相关阅读:
    springboot +mybatis 使用PageHelper实现分页,并带条件模糊查询
    jQuery设置点击选中样式,onmouseover和onmouseout事件
    Ajax跨域设置
    Java获取文章的上一篇/下一篇
    Python str / bytes / unicode 区别详解
    Python bytes 和 string 相互转换
    Python bytearray/bytes/string区别
    Python eval 与 exec 函数区别
    Python eval 与 exec 函数
    Python set list dict tuple 区别和相互转换
  • 原文地址:https://www.cnblogs.com/denggelin/p/11786009.html
Copyright © 2011-2022 走看看