zoukankan      html  css  js  c++  java
  • 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:

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

    TIME LIMITED EXCEEDED VERSION

     1 class NumArray {
     2     private:
     3     vector<int> arr;
     4 public:
     5     NumArray(vector<int> &nums) {
     6         arr.clear();
     7         for(int i = 0; i < nums.size(); i++)
     8             arr.push_back(nums[i]);
     9     }
    10 
    11     int sumRange(int i, int j) {
    12         i = i < 0 ? 0 : i;
    13         j = j >= arr.size() ? arr.size() - 1 : j;
    14         
    15         int sum = 0;
    16         for(int k = i; k <= j; k++)
    17             sum += arr[k];
    18         return sum;
    19     }
    20 };
    21 
    22 
    23 // Your NumArray object will be instantiated and called as such:
    24 // NumArray numArray(nums);
    25 // numArray.sumRange(0, 1);
    26 // numArray.sumRange(1, 2);

    Runtime: 588ms

     1 class NumArray {
     2 public:
     3     NumArray(vector<int> &nums) {
     4         arr.push_back(0);
     5         for(int i = 0; i < nums.size(); i++)
     6             arr.push_back(arr[i] + nums[i]);
     7     }
     8 
     9     int sumRange(int i, int j) {
    10         return arr[j + 1] - arr[i];
    11     }
    12 private: 
    13     vector<int> arr;
    14 };
    15 
    16 
    17 // Your NumArray object will be instantiated and called as such:
    18 // NumArray numArray(nums);
    19 // numArray.sumRange(0, 1);
    20 // numArray.sumRange(1, 2);
  • 相关阅读:
    Linux 线程池的简单实现
    m3u8(HLS) 抓包
    一个面试问题的思考
    简单实现无需密码 sudo
    转: NAT 穿透
    一个平均分配算法
    raft 算法扫盲
    20210615 JVM 优化
    20210614. 并发编程
    20210606 Java 并发编程之美
  • 原文地址:https://www.cnblogs.com/amazingzoe/p/4954937.html
Copyright © 2011-2022 走看看