一次過 Lintcode 1078 陣列的度

2021-08-28 09:23:24 字數 675 閱讀 3109

給定由非負整數組成的非空陣列,陣列的度定義為出現頻率最高的元素。

找出最短的連續子陣列,並使得它和原陣列有相同的度。返回該連續子陣列的長度。

輸入: [1, 2, 2, 3, 1]

輸出: 2

解釋:輸入陣列的度是2,1和2都出現了兩次。

具有相同度的子串包括:

[1, 2, 2, 3, 1], [1, 2, 2, 3], [2, 2, 3, 1], [1, 2, 2], [2, 2, 3], [2, 2]

其中長度最短為2。所以返回2。

nums.length的範圍在1到50,000之間。

nums[i]是範圍為0到49,999的整數。

用map儲存每種元素出現的次數,得到最大度數。再找到最大度數元素的首位元素下標,即計算出當前最大度連續子陣列的最小長度,最後選最小的長度即可。

public class solution 

for(integer key : map.keyset())}}

int temp = lastindex - firstindex + 1; //當前最大度連續子陣列的長度

if(temp < res)

res = temp;

}return res;

}}

一次過 Lintcode 488 快樂數

寫乙個演算法來判斷乙個數是不是 快樂數 乙個數是不是快樂是這麼定義的 對於乙個正整數,每一次將該數替換為他每個位置上的數字的平方和,然後重複這個過程直到這個數變為1,或是無限迴圈但始終變不到1。如果可以變為1,那麼這個數就是快樂數。19 就是乙個快樂數。1 2 9 2 82 8 2 2 2 68 6...

一次過 Lintcode 496 玩具工廠

工廠模式是一種常見的設計模式。請實現乙個玩具工廠toyfactory用來產生不同的玩具類。可以假設只有貓和狗兩種玩具。toyfactory tf toyfactory toy toy tf.gettoy dog toy.talk wow toy tf.gettoy cat toy.talk meow...

一次過 Lintcode 956 資料分割

給出乙個字串str,你需要按順序提取出該字串的符號和單詞。樣例 1 輸入 str hi i am bye 輸出 hi i am bye 解釋 將符號和單詞分割。樣例 2 輸入 str ok yes 輸出 ok yes 解釋 將符號和單詞分割。樣例 3 輸入 str s 輸出 s 解釋 將符號和單詞分...