leetcode697(陣列的度 雜湊儲存)

2021-10-19 15:47:26 字數 855 閱讀 9785

給定乙個非空且只包含非負數的整數陣列 nums,陣列的度的定義是指數組裡任一元素出現頻數的最大值。

你的任務是在 nums 中找到與 nums 擁有相同大小的度的最短連續子陣列,返回其長度。

示例 1:

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

輸出:2

解釋:輸入陣列的度是2,因為元素1和2的出現頻數最大,均為2.

連續子陣列裡面擁有相同度的有如下所示:

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

最短連續子陣列[2, 2]的長度為2,所以返回2.

題解:雜湊儲存

遍歷陣列,用雜湊表儲存每個數字出現的次數,第一次出現的索引,最後一次出現的索引。隨後遍歷雜湊表,找到出現次數最多的數字,通過第一次出現的索引和最後一次出現的索引得到擁有相同度的最短連續子陣列長度。

class

solution

; map.

put(nums[i]

,temp);}

else

} set

keys=map.

keyset()

;int max=0;

int ans=0;

iterator

it= keys.

iterator()

;while

(it.

hasnext()

)else

if(temp[2]

==max)

}return ans;

}}

Leetcode 697 陣列的度

題目 給定乙個非空且只包含非負數的整數陣列 nums,陣列的度的定義是指數組裡任一元素出現頻數的最大值。你的任務是找到與 nums 擁有相同大小的度的最短連續子陣列,返回其長度。示例 1 輸入 1,2,2,3,1 輸出 2 解釋 輸入陣列的度是2,因為元素1和2的出現頻數最大,均為2.連續子陣列裡面...

LeetCode697 陣列的度

給定乙個非空且只包含非負數的整數陣列nums,陣列的度的定義是指數組裡任一元素出現頻數的最大值。你的任務是找到與nums擁有相同大小的度的最短連續子陣列,返回其長度。示例 1 輸入 1,2,2,3,1 輸出 2 解釋 輸入陣列的度是2,因為元素1和2的出現頻數最大,均為2.連續子陣列裡面擁有相同度的...

LeetCode 697 陣列的度

給定乙個非空且只包含非負數的整數陣列 nums,陣列的度的定義是指數組裡任一元素出現頻數的最大值。你的任務是找到與 nums 擁有相同大小的度的最短連續子陣列,返回其長度。示例輸入 1,2,2,3,1 輸出 2 解釋 輸入陣列的度是2,因為元素1和2的出現頻數最大,均為2.連續子陣列裡面擁有相同度的...