class Solution {public:unordered_map<int,vector<int>> m;//统计开始和结束坐标    unordered_map<int,int> m1;//统计度
int findShortestSubArray(vector<int>& nums) {     int max=0;//统计最大频数     int min=50000;//统计最短长度
//统计所有字符开始的坐标
for(int i=0;i<nums.size();i++){       m1[nums[i]]++;          if(m1[nums[i]]>max) max=m1[nums[i]];            if(m[nums[i]].size()==0){                m[nums[i]].push_back(i);         }           else if(m[nums[i]].size()==1){                m[nums[i]].push_back(i);          }          else if(m[nums[i]].size()==2){                m[nums[i]][1]=i;        }     }     unordered_map<int,int>::iterator it;        for(it=m1.begin();it!=m1.end();it++){     if(it->second!=max) continue;       if(m[it->first].size()==2){        if(m[it->first][1]-m[it->first][0]+1<min){min=m[it->first][1]-m[it->first][0]+1;                }                      }       else{         return 1;    }}  return min;}};

【leetcode】数组的度-两个map关联初探相关推荐

  1. leetcode(3)——697. 数组的度(C++版本注释)(map容器),448. 找到所有数组中消失的数字(取余操作,C++中的auto类型)

    文章目录 前言 697 程序 思路 收获 map容器 448 程序 收获 取模操作的思考 auto 前言 大佬的程序,边刷边总结边学语言. 题目697 697 程序 class Solution {p ...

  2. 【leetcode刷题】 64.数组的度——Java版

    ⭐欢迎订阅<leetcode>专栏,每日一题,每天进步⭐ 看明白了就不难,总结一下就是要找出数组的众数,并且还有找出众数在数组中第一次出现和最后一次出现的位置,两个位置组成区间长度就是答案 ...

  3. LeetCode实战:寻找两个有序数组的中位数

    题目英文 There are two sorted arrays nums1 and nums2 of size m and n respectively. Find the median of th ...

  4. 3、leetcode 697 数组的度

    leetcode 697 数组的度 给定一个非空且只包含非负数的整数数组 nums,数组的度的定义是指数组里任一元素出现频数的最大值. 你的任务是在 nums 中找到与 nums 拥有相同大小的度的最 ...

  5. leetcode初级算法4.两个数组的交集 II

    leetcode初级算法4.两个数组的交集 II 仅为个人刷题记录,不提供解题思路 题解与收获 我的解法:(总结在代码中) public int[] intersect(int[] nums1, in ...

  6. leetcode 697. 数组的度(hashmap)

    给定一个非空且只包含非负数的整数数组 nums,数组的度的定义是指数组里任一元素出现频数的最大值. 你的任务是在 nums 中找到与 nums 拥有相同大小的度的最短连续子数组,返回其长度. 示例 1 ...

  7. LeetCode简单题之数组的度

    题目 给定一个非空且只包含非负数的整数数组 nums,数组的 度 的定义是指数组里任一元素出现频数的最大值. 你的任务是在 nums 中找到与 nums 拥有相同大小的度的最短连续子数组,返回其长度. ...

  8. LeetCode简单题之两个数组的交集 II

    题目 给你两个整数数组 nums1 和 nums2 ,请你以数组形式返回两数组的交集.返回结果中每个元素出现的次数,应与元素在两个数组中都出现的次数一致(如果出现次数不一致,则考虑取较小值).可以不考 ...

  9. LeetCode实战:合并两个有序数组

    题目英文 Given two sorted integer arrays nums1 and nums2, merge nums2 into nums1 as one sorted array. No ...

最新文章

  1. 写在南加州留学生遇难之后
  2. 基于spring boot调用接口的工具类
  3. linux shell 获取字符串最后一个字符 去掉字符串最后一个字符 去掉末尾一个字符 去掉末尾两个字符
  4. ie 访问 java接口_Java基础面试题 库(1~10)
  5. C3P0连接池工具类使用
  6. python logging模块 默认_python logging模块
  7. 上海最帅交警迷倒一片女白领成为城市风景
  8. java telnet 交换机_华为交换机 telnet 配置(极简版)
  9. SQL显示数据库恢复挂起解决
  10. 易语言linux支持多线程,详解易语言启动多线程
  11. 基于产生式系统的野人渡河问题求解
  12. 如何解决MySQL闪退
  13. Kafka+Spark Streaming+Redis实时计算整合实践
  14. Python之pandas学习笔记
  15. 带你认识世界最值钱的十种货币
  16. RGB与HSI的关系
  17. jdbc之mysql的serverTimezone参数设置
  18. 科腾Joystick手柄连接ROS
  19. APP被苹果 App Store拒之门外的79个原因!
  20. C++ bind2nd用法

热门文章

  1. 操作计算机的英文,操作计算机必读的53个英文单词
  2. dw cc链接mysql_Adobe Dreamweaver CC MySQL连接 报404错误的解决方法_MySQL
  3. EP Limited: 开源ECG分析软件介绍
  4. 0基础python入门书籍 excel_零基础学Python3(23):Excel 基础操作(上)
  5. java中对于框架的理解_接触Java项目一周后对一些基本框架的理解 | 学步园
  6. Hive insert into小文件问题
  7. [20180124]测试SQLNET.EXPIRE_TIME参数3
  8. 解决向github提交代码不用输入帐号密码
  9. ctags 的最简单使用
  10. 一个Tomcat运行多个实例