1.儲存有限個型別,用陣列索引代替。
leetcode1010:在歌曲列表中,第 i 首歌曲的持續時間為 time[i] 秒。
返回其總持續時間(以秒為單位)可被 60 整除的歌曲對的數量。形式上,我們希望索引的數字 i 和 j 滿足 i < j 且有 (time[i] + time[j]) % 60 == 0。
示例 1:解答1:逐個組合計算,超時輸入:[30,20,150,100,40]
輸出:3
解釋:這三對的總持續時間可被 60 整數:
(time[0] = 30, time[2] = 150): 總持續時間 180
(time[1] = 20, time[3] = 100): 總持續時間 120
(time[1] = 20, time[4] = 40): 總持續時間 60
public
class
solution
int i =0;
int count =0;
while
(ij++;}
i++;}
return count;
}}
解答2:用長度為60的陣列統計time中的數關於60的模,然後逐個組合即可。每個數本身的值並不重要時,可以考慮是否能夠壓縮。
public
class
solution
int[
] recoder =
newint[60
];foreach
(int t in time)
int count =0;
for(
int i=
1;i<
30;i++
) count +
=(recoder[30]
*(recoder[30]
-1))
/2; count +
=(recoder[0]
*(recoder[0]
-1))
/2;return count;
}}
衍生:類似26個字元的統計等,同樣可以用陣列索引的方法。 迴圈的套路
迴圈有些不好掌握,有的人只會寫迴圈條件 卻不知道迴圈體裡面寫些什麼 現在就來說一下迴圈的套路吧 一 迴圈四要素 1 初始狀態 2 迴圈條件 3 迴圈體 要重複做的事情 4 為下次迴圈作準備 當我們需要用到迴圈時,如果沒有思路,先回答一下四個問題?1 初始狀態是怎樣的?2 重複做的條件是什麼 3 重複...
推薦的套路
1.推薦的本質是什麼?是內容和資料。資料指的是使用者的行為資料。沒公尺是做不了飯的,沒有資料任何演算法都是走不通的。很多高大上的詞,使用者畫像什麼的,本質上都是對使用者行為資料的抽象而已。另外,給內容打標籤 打質量係數分也可以用使用者行為資料。推薦的本質,就是根據使用者行為資料,提供更滿足使用者的內...
系統設計的套路
區別就是層級不同 架構風格 設計模式 慣用法。在需求分析與軟體設計之間有乙個銜接。分為結構化設計和物件導向設計。通常,我們這些半吊子水準,一知半解的人,什麼概要設計 詳細設計張嘴就來。但事實上,這兩個概念 於結構化設計。目前來說,物件導向設計才是主流。sd和ood就好像中西醫結合一樣,二者結合著用。...