KOTLIN 學習 : LEETCODE EASY 303 Range Sum Query - Immutable
題目: 303 Range Sum Query - Immutable
程式: Github
如果只是按照數列累加, 效率比較低
可以先變成一個累加數列, 再來做計算
例如 一串固定不變的數列: {1, 2, 3, 4, 5, 6}
如果需求是從第三個加到第五個, 直接連加 3+4+5 = 12;
但因為各種需求來的很多都不同, 每次都這樣算會做太多加法, 浪費算力;
將數列先變成累加數列 {1, 3, 6, 10, 15, 21}, (因為固定不變, 只要一開始做一次就好)
之後如需求要算第三個加到第五個,
就只要計算累加數列的 第五個 減去 第二個 (3-1) 即可; 15 - 3 = 12;
這樣每次需求來不用做多個加法, 只要做一個減法;
留言
張貼留言