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;
    }
}


相关文章
|
编解码 API 数据安全/隐私保护
FFmpeg中overlay滤镜用法-水印及画中画
overlay 技术又称视频叠加技术。overlay 视频技术使用非常广泛,常见的例子有,电视屏幕右上角显示的电视台台标,以及画中画功能。画中画是指在一个大的视频播放窗口中还存在一个小播放窗口,两个窗口不同的视频内容同时播放。
2588 0
FFmpeg中overlay滤镜用法-水印及画中画
|
存储 缓存 运维
函数计算产品使用问题之SD上安装了inpaint anything插件,但是不显示,该如何解决
函数计算产品作为一种事件驱动的全托管计算服务,让用户能够专注于业务逻辑的编写,而无需关心底层服务器的管理与运维。你可以有效地利用函数计算产品来支撑各类应用场景,从简单的数据处理到复杂的业务逻辑,实现快速、高效、低成本的云上部署与运维。以下是一些关于使用函数计算产品的合集和要点,帮助你更好地理解和应用这一服务。
1069 0
|
网络协议 Java 关系型数据库
一篇文章彻底理解数据库的各种 JDBC 超时参数 2
一篇文章彻底理解数据库的各种 JDBC 超时参数
|
缓存 Java C++
HTTP 头部:你不可不知的网页开发基础(下)
HTTP 头部:你不可不知的网页开发基础(下)
HTTP 头部:你不可不知的网页开发基础(下)
|
Java 关系型数据库 MySQL
基于Java的高校校园点餐系统
基于Java的高校校园点餐系统
|
缓存 负载均衡 网络协议
多协议标签交换(MPLS)
多协议标签交换(MPLS)
568 0
|
Java 测试技术
collections.shuffle用法详解
collections.shuffle用法详解
|
人工智能 小程序 安全
Kimi 高效使用技巧,80%的人都不知道(上)
Kimi 高效使用技巧,80%的人都不知道
|
存储 运维 开发工具
emas
emas
622 0
|
Web App开发 JSON 数据格式
这款 Chrome 插件,让你的项目联调 so easy
poseidon-chrome-proxy 是一款浏览器请求代理插件;它能把向服务器发起的请求代理到本地,并且可以修改其请求头。 通过这个插件我们可以降低前后端联调的成本,以及帮助我们快速定位线上 bug。

热门文章

最新文章