LeetCode的若干套路

2021-10-07 02:46:38 字數 1151 閱讀 4952

1.儲存有限個型別,用陣列索引代替。

leetcode1010:在歌曲列表中,第 i 首歌曲的持續時間為 time[i] 秒。

返回其總持續時間(以秒為單位)可被 60 整除的歌曲對的數量。形式上,我們希望索引的數字 i 和 j 滿足 i < j 且有 (time[i] + time[j]) % 60 == 0。

示例 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

解答1:逐個組合計算,超時

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就好像中西醫結合一樣,二者結合著用。...