697 陣列的度

2021-08-28 14:08:08 字數 986 閱讀 5055

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

注意:

分析:用unordered_map儲存數的頻數,找到最大頻數的幾個數,用首尾指標找出這些數最初和最後出現的位置,返回其間隔的最大值。

class solution 

unordered_map<

int,

int>

::iterator t;

int min=int_max;

int left=0;

int right=nums.

size()

-1;for

(t=m.

begin()

;t!=m.

end(

);t++

)return min;}}

;

697 陣列的度

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

697 陣列的度

解題思路 最直觀最笨的方法 1.遍歷陣列,借助輔助陣列count,統計原陣列中每個元素出現的次數 2.根據count中元素額值,求出陣列的度 3.輔助二維陣列arr,初始值為 1,儲存陣列的度對應的元素的最小索引和最大索引 4.遍歷原陣列的元素,找到與nums擁有相同大小的度的最短連續子陣列,其長度...

697 陣列的度

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