697 陣列的度

2021-10-02 11:25:30 字數 593 閱讀 9792

解題思路(最直觀最笨的方法):

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.連續...