697. 数组的度

简介: 697. 数组的度

697. 数组的度

class Solution {
    public static int findShortestSubArray(int[] nums) {
       HashMap<Integer,Integer> map = new HashMap<>();
        for (int i = 0; i < nums.length; i++) {
                if(map.get(nums[i])==null){
                    map.put(nums[i],1);
                }
                else {
                    int value=map.get(nums[i]);
                    value++;
                    map.put(nums[i],value);
                }
        }
        Set<Integer> integers = map.keySet();
        int max=0;
        for (Integer key:integers){
            int value=map.get(key);
            if(max< value) max=value;
          //  System.out.println("key= "+key+" value= "+value);
        }
      //  System.out.println("max=" +max);
        ArrayList<Integer> list = new ArrayList<>();
        for (Integer key:integers){
            int value=map.get(key);
            if(max== value) list.add(key);
        }
     //   System.out.println("list = " +list);
        int ans=nums.length;
        for(Integer temp:list){
            System.out.println("temp= "+ temp);
            int len=0;
            int count=0;
            int start=0;
            for (int i = 0; i < nums.length; i++) {
                if(nums[i]==temp){
                    if(count==0){
                        start=i;
                     //   System.out.println("start= "+ start);
                    }
                    count++;
                    if(count==max){
                        len=i-start+1;
                    //    System.out.println("len="+len);
                        break;
                    }
                }
            }
            if(ans>len){
                ans=len;
            }
        }
        return ans;
    }
}


相关文章
|
7月前
|
算法 测试技术 C++
【线段树】【众数】1157数组中占绝大多数的元素
【线段树】【众数】1157数组中占绝大多数的元素
【线段树】【众数】1157数组中占绝大多数的元素
|
7月前
leetcode2967. 使数组成为等数数组的最小代价
leetcode2967. 使数组成为等数数组的最小代价
54 0
|
7月前
|
算法 测试技术 C#
【单调栈】LeetCode2334:元素值大于变化阈值的子数组
【单调栈】LeetCode2334:元素值大于变化阈值的子数组
【单调栈】LeetCode2334:元素值大于变化阈值的子数组
|
7月前
leetcode-1200:最小绝对差
leetcode-1200:最小绝对差
42 1
|
7月前
|
算法 测试技术 C#
【数学】LeetCode1526: 形成目标数组的子数组最少增加次数
【数学】LeetCode1526: 形成目标数组的子数组最少增加次数
|
7月前
|
算法 程序员 测试技术
【算法训练-二分查找 二】【旋转二分】旋转排序数组的最小数字、旋转排序数组的指定数字
【算法训练-二分查找 二】【旋转二分】旋转排序数组的最小数字、旋转排序数组的指定数字
46 0
【算法训练-二分查找 二】【旋转二分】旋转排序数组的最小数字、旋转排序数组的指定数字
|
7月前
leetcode-6119:元素值大于变化阈值的子数组
leetcode-6119:元素值大于变化阈值的子数组
33 0
|
存储 算法 前端开发
前端算法-除自身外数组的乘积
前端算法-除自身外数组的乘积
|
存储
集合的操作(交并差)
集合的操作(交并差)
82 0
LeetCode 1318. 或运算的最小翻转次数
LeetCode 1318. 或运算的最小翻转次数