#27258: 兩個提升速度的方法


jkao1578@gmail.com (Joseph Kao)

學校 : 臺北市立建國高級中學
編號 : 162908
來源 : [210.71.78.242]
最後登入時間 :
2022-01-17 08:50:27
g277. 3. 幸運數字 -- 2021年9月APCS | From: [118.160.7.140] | 發表日期 : 2021-09-21 00:17

1. 預先製作累加數列

即 acc = [n1, n1+n2, n1+n2+n3, ...],需要計算索引值i至j的總和時,運算acc[j] - acc[i-1]

若是使用迴圈累加,注意要記錄前一次的總和,不然速度不會提升

 

2. 求最小值時,從最小數字找到最大

迭代排序後的數列,從最小的數字開始找(若數字不在區間內,則換下一個),而非使用min()之類的函式

 
ZeroJudge Forum