解題思路(最直觀最笨的方法):
1.遍歷陣列,借助輔助陣列count,統計原陣列中每個元素出現的次數
2.根據count中元素額值,求出陣列的度
3.輔助二維陣列arr,初始值為-1,儲存陣列的度對應的元素的最小索引和最大索引
4.遍歷原陣列的元素,找到與nums
擁有相同大小的度的最短連續子陣列,其長度=最大 索引-最小索引+1
**實現:
class solution
int d=0;//陣列的度
int count=new int[50000];//儲存每個元素出現的次數
int arr=new int[50000][2];//儲存陣列的度對應的元素的最小索引和最大索引
for(int i=0;i=0;--i)
}//求最小子陣列長度
int min=50001;
for(int i=0;iarr[nums[i]][1]-arr[nums[i]][0]+1&&arr[nums[i]][0]>=0&&arr[nums[i]][1]>=0)
}return min;
}}
697 陣列的度
給定乙個非空且只包含非負數的整數陣列 nums,陣列的度的定義是指數組裡任一元素出現頻數的最大值。你的任務是找到與 nums 擁有相同大小的度的最短連續子陣列,返回其長度。示例 1 輸入 1,2,2,3,1 輸出 2 解釋 輸入陣列的度是2,因為元素1和2的出現頻數最大,均為2.連續子陣列裡面擁有相...
697 陣列的度
給定乙個非空且只包含非負數的整數陣列nums,陣列的度的定義是指數組裡任一元素出現頻數的最大值。你的任務是找到與nums擁有相同大小的度的最短連續子陣列,返回其長度。示例 1 輸入 1,2,2,3,1 輸出 2解釋 輸入陣列的度是2,因為元素1和2的出現頻數最大,均為2.連續子陣列裡面擁有相同度的有...
697 陣列的度
給定乙個非空且只包含非負數的整數陣列 nums,陣列的度的定義是指數組裡任一元素出現頻數的最大值。你的任務是在 nums 中找到與 nums 擁有相同大小的度的最短連續子陣列,返回其長度。示例 1 輸入 1,2,2,3,1 輸出 2 解釋 輸入陣列的度是2,因為元素1和2的出現頻數最大,均為2.連續...