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:

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

    这个问题的关键是不能按照传统的求值方法。。如果每次求结果按照以前我们经常用的按顺序相加,在LeetCode是不能通过的,会超时,我们应该将其全部求和,前N次求和放到容器中

    class NumArray {
    public:
        NumArray(vector<int> &nums) {
            int sum = 0;
            for (int i = 0;i<nums.size();++i)
            {
                sum += nums[i];
                number.push_back(sum);
            }
    
        }
    
        int sumRange(int i, int j) {
            if (i == 0)return number[j];
            else return number[j] - number[i - 1];
        }
    private:
        vector<int> number;
    };
  • 相关阅读:
    mysql
    Spring MVC
    springSecurity
    导出Excel报表
    Redis集群搭建
    Oracle 分析数据库表行长度的统计信息 使用聚簇的步骤
    Dbms.job 学习
    oracel 学习系列
    Oracle 工具类 Sql 分析索引的 碎片率
    oracl
  • 原文地址:https://www.cnblogs.com/csudanli/p/4967716.html
Copyright © 2011-2022 走看看