給定一個非空且只包含非負數的整數陣列 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
這道題目的稍稍有點繞,需要理解兩個含義,一個是陣列的度,另一個是包含陣列的度的最短子陣列,稍稍解釋下這兩個概念題目就很清晰了
class solution
//若出現次數等於陣列的度,則計運算元陣列的大小
if (count == max)
right++;}}
return res;
}//根據雜湊表獲取出現次數最多的數字
//max 記錄陣列的度
private listgetmax()
//雜湊表統計每個數字出現的次數
private void getmap(int nums)
}}
/*
在實際**中,我們使用雜湊表實現該功能,每一個數對映到一個長度為 33 的陣列,
陣列中的三個元素分別代表這個數出現的次數、這個數在原陣列中第一次出現的位置
和這個數在原陣列中最後一次出現的位置。當我們記錄完所有資訊後,我們需要遍歷該雜湊表,
找到元素出現次數最多,且前後位置差最小的數
*/class solution else if(count == array[0])
}return res;
}private void getmap(int nums)else);}}
}}
697 陣列的度 簡單
題目 於力扣 leetcode 目錄三 實現 四 執行用時 五 部分測試用例 697 陣列的度 定義map 記錄 nums 陣列中各元素出現...
LeetCode 每日溫度 739
根據每日氣溫列表,請重新生成一個列表,對應位置的輸入是你需要再等待多久溫度才會升高的天數。如果之後都不會升高,請輸入0來代替。 例如,給定一...
Leetcode順時鐘旋轉90度
問題 you are given annx n2d matrix representing an image rotate the imag...