Leetcode697 陣列的度

2021-10-19 18:23:52 字數 1567 閱讀 5839

陣列的度

給定乙個非空且只包含非負數的整數陣列 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.

示例 2:

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

輸出:6

利用keyset()返回乙個collection的集合類,再利用iterator去遍歷

利用for-each迴圈來遍歷map

for(map.entryentry:map.entryset())
map.entry實現類實現遍歷

概述:每次對map的操作都是先取得key之後,再取得值,這樣有點麻煩。好在map類裡面也提供了乙個這樣的類:map.entry。

他的功能就是將獲得乙個整體(當前的map所指向到的鍵值對)。

平時我們是這樣操作map的:

利用keyset()返回乙個collection的集合類,再利用iterator去遍歷

set allset=map.

keyset()

;if(allset!=null)

}

如果用了map.entry就設計得更合理了:直接返回此項的鍵值對對應的key或者value

set allset=map.entry();

if(allset!=null)

}

對應map.entry類的api

//取最大值,遍歷map去取,for-each迴圈

for(map.entry

int[

]>entry:map.

entryset()

)else

if(temp[0]

==maxnum)}}

return minlen;

}}

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.連續子陣列裡面擁有相同度的...