zoukankan      html  css  js  c++  java
  • Leetcode: Range Sum Query

    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.

     第二遍方法(更好):定义prefix sum array length: nums.length+1

     1 public class NumArray {
     2     int[] arr;
     3 
     4     public NumArray(int[] nums) {
     5         if (nums.length == 0) return;
     6         arr = new int[nums.length+1];
     7         for (int i=0; i<nums.length; i++) {
     8             arr[i+1] = arr[i] + nums[i];
     9         }
    10     }
    11 
    12     public int sumRange(int i, int j) {
    13         return arr[j+1]-arr[i];
    14     }
    15 }
    16 
    17 
    18 // Your NumArray object will be instantiated and called as such:
    19 // NumArray numArray = new NumArray(nums);
    20 // numArray.sumRange(0, 1);
    21 // numArray.sumRange(1, 2);

    第一遍方法:定义prefix sum length 为nums.length, 这样sumRange要讨论i=0的情况

     1 public class NumArray {
     2     int[] leftSums;
     3 
     4     public NumArray(int[] nums) {
     5         leftSums = new int[nums.length];
     6         if (nums.length == 0) return;
     7         leftSums[0] = nums[0];
     8         for (int i=1; i<nums.length; i++) {
     9             leftSums[i] = leftSums[i-1] + nums[i];
    10         }
    11     }
    12 
    13     public int sumRange(int i, int j) {
    14         return i==0? leftSums[j] : leftSums[j] - leftSums[i-1];
    15     }
    16 }
    17 
    18 
    19 // Your NumArray object will be instantiated and called as such:
    20 // NumArray numArray = new NumArray(nums);
    21 // numArray.sumRange(0, 1);
    22 // numArray.sumRange(1, 2);
  • 相关阅读:
    ZJOI2019爆蛋记
    NOIp2018退役记
    拓展中国剩余定理(exCRT)摘要
    FFT(快速傅里叶变换)摘要
    主席树摘要
    LCT摘要
    替罪羊树摘要
    FHQ Treap摘要
    逻辑回归1-逻辑回归原理详解
    NLP自然语言处理原理及名词介绍
  • 原文地址:https://www.cnblogs.com/EdwardLiu/p/5084606.html
Copyright © 2011-2022 走看看