数组的度
采用数组这个来记住一个数的出现次数,以及第一次出现和最后一次出现次数。
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);
}
}