日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Leetcode题目:Range Sum Query - Immutable

發(fā)布時(shí)間:2025/3/19 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Leetcode题目:Range Sum Query - Immutable 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

題目:

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.
  • 題目解答:這個(gè)題目說了,會(huì)反復(fù)的求一段數(shù)字的和,但是默認(rèn)數(shù)組不變。這么說來,就是求和的復(fù)雜度就是主要的復(fù)雜度。那么可以先把它們存起來,然后再求得時(shí)候,直接把結(jié)果返回來。需要注意的是,求[2,5]的和就是求[0,5]的和減去[0,2]的和,再加上[2]這個(gè)位置的值。

    代碼如下:

    class NumArray {
    public:
    ??? NumArray(vector<int> &nums):nums(nums) {
    ??????? int sum = 0;
    ??????? for(int i = 0;i < nums.size();i++)
    ??????? {
    ??????????? sum += nums[i];
    ??????????? sums.push_back(sum);
    ??????? }
    ??? }

    ??? int sumRange(int i, int j) {
    ??????? if((i > j) || (i >= nums.size()) || (j >= nums.size()))
    ??????????? return 0;
    ??????? return sums[j] - sums[i] + nums[i];
    ??? }

    private:
    ??? vector<int> sums;
    ??? vector<int> &nums;
    };


    // Your NumArray object will be instantiated and called as such:
    // NumArray numArray(nums);
    // numArray.sumRange(0, 1);
    // numArray.sumRange(1, 2);

    轉(zhuǎn)載于:https://www.cnblogs.com/CodingGirl121/p/5477231.html

    總結(jié)

    以上是生活随笔為你收集整理的Leetcode题目:Range Sum Query - Immutable的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。