• 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);
  • 相关阅读:
    XAML
    诺基亚Lumia 800越狱教程
    Windows Phone常用控件
    Windows Phone数据存储
    Silverlight自定义鼠标
    [silverlight] silverlight3新增功能1:三维效果(透视转换)
    [silverlight] silverlight3新增功能2:WriteableBitmap
    另一种方法实现silverlight图片局部放大效果
    [Silverlight]简单实现DataGrid使用CheckBox选择行
    好用的模糊搜索下拉提示
  • 原文地址:https://www.cnblogs.com/EdwardLiu/p/5084606.html
Copyright © 2020-2023  润新知