數組的度
采用數組這個來記住一個數的出現次數,以及第一次出現和最後一次出現次數。
package leetcode;
import java.util.HashMap;
public class mm {
public static int findShortestSubArray(int[] nums) {
HashMap<Integer,int[]> map = new HashMap<>();
HashMap<Integer,Integer> map1 = new HashMap<>();
int number;
int Maxtimes=;//記錄最大出現次數。
for(int i=;i<nums.length;i++) {
number=nums[i];
if(map.containsKey(number)) {
//最後一個
map.get(number)[]=i;
map.get(number)[]++;
map.put(number, map.get(number));
//始終記錄最大的
if(Maxtimes< map.get(number)[]) {
map1.put(map.get(number)[], number);
Maxtimes=map.get(number)[];
}
}else {
//初始位置
int []numInfor= new int[];
//[2]次數
numInfor[]=;
//[0]位置
numInfor[]=i;
map.put(number, numInfor);
}
}
number=map1.get(Maxtimes);
return map.get(number)[]-map.get(number)[]+;
}
public static void main(String[] args) {
int[] nums= {,,,,,,};
int temp=findShortestSubArray(nums);
System.out.println(temp);
}
}