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; 
這樣每次需求來不用做多個加法, 只要做一個減法;


留言

熱門文章