成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

370. Range Addition

shuibo / 1635人閱讀

摘要:題目解法這題與算法無關,是個數(shù)學題。思想是把所有需要相加的值存在第一個數(shù),然后把這個范圍的最后一位的下一位減去這個這樣我所以這個范圍在求最終值的時候,都可以加上這個,而后面的數(shù)就不會加上。

題目:
Assume you have an array of length n initialized with all 0"s and are given k update operations.

Each operation is represented as a triplet: [startIndex, endIndex, inc] which increments each element of subarray A[startIndex ... endIndex] (startIndex and endIndex inclusive) with inc.

Return the modified array after all k operations were executed.

Example:

Given:

    length = 5,
    updates = [
        [1,  3,  2],
        [2,  4,  3],
        [0,  2, -2]
    ]

Output:

    [-2, 0, 3, 5, 3]

Explanation:

Initial state:
[ 0, 0, 0, 0, 0 ]

After applying operation [1, 3, 2]:
[ 0, 2, 2, 2, 0 ]

After applying operation [2, 4, 3]:
[ 0, 2, 5, 5, 3 ]

After applying operation [0, 2, -2]:
[-2, 0, 3, 5, 3 ]

解法:
這題與算法無關,是個數(shù)學題。思想是把所有需要相加的值存在第一個數(shù),然后把這個范圍的最后一位的下一位減去這個inc, 這樣我所以這個范圍在求最終值的時候,都可以加上這個inc,而后面的數(shù)就不會加上inc。

public int[] getModifiedArray(int length, int[][] updates) {
    int[] result = new int[length];
    for (int i = 0; i < updates.length; i++) {
        int start = updates[i][0], end = updates[i][1];
        int inc = updates[i][2];
        result[start] += inc;
        if (end < length - 1) {
            result[end + 1] -= inc;
        }
    }
    
    int sum = 0;
    for (int i = 0; i < length; i++) {
        sum += result[i];
        result[i] = sum;
    }
    return result;
}

文章版權歸作者所有,未經(jīng)允許請勿轉載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉載請注明本文地址:http://systransis.cn/yun/64910.html

相關文章

  • 370. Range Addition

    摘要:題目鏈接這道題暴力法是可以的,每次把所有在到之間的值都更新一遍,不過題目要求要,所以其實每次更新只能用的時間。如果結束的地方就在末尾,那就不更新。 370. Range Addition 題目鏈接:https://leetcode.com/problems... 這道題暴力法是可以的,每次把所有在start到end之間的值都更新一遍,不過題目要求要O(k+n),所以其實每次更新只能用c...

    bluesky 評論0 收藏0
  • [LintCode/LeetCode] Range Addition

    Problem Assume you have an array of length n initialized with all 0s and are given k update operations. Each operation is represented as a triplet: [startIndex, endIndex, inc] which increments each el...

    endless_road 評論0 收藏0
  • Java實現(xiàn)通過日語元音ae的發(fā)音曲線分類9個發(fā)音者

    摘要:需要對個人的日語元音的發(fā)音分析,然后根據(jù)分析確定名發(fā)音者。九個發(fā)音者發(fā)出兩個日本元音先后。其中每塊數(shù)據(jù)中包含的行數(shù)為到不等,每行代表著發(fā)音者的一個時間幀。 業(yè)務理解(Business Understanding) 該業(yè)務是分類問題。需要對9個人的日語元音ae的發(fā)音分析,然后根據(jù)分析確定9名發(fā)音者。ae.train文件是訓練數(shù)據(jù)集,ae.test文件是用來測試訓練效果的,size_ae...

    lncwwn 評論0 收藏0
  • 【開發(fā)語言】PHP、Java、C語言的編譯執(zhí)行過程

    摘要:效率比較低,依賴解釋器,跨平臺性好語言編譯執(zhí)行過程下面都是鳥哥博客的內容深入理解原理之引擎對這個文件進行詞法分析,語法分析,編譯成,然后執(zhí)行。 編譯型語言和解釋型語言 從PHP,Java和C語言的編譯執(zhí)行過程可以先解釋下編譯型語言和解釋型語言。 編譯型語言 程序在執(zhí)行之前需要一個專門的編譯過程,把程序編譯成為機器語言的文件,運行時不需要重新翻譯,直接使用編譯的結果就行了。程序執(zhí)行效率高...

    gnehc 評論0 收藏0

發(fā)表評論

0條評論

shuibo

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<