public class Solution
{
public int FindShortestSubArray(int[] nums)
{
//先找到最大频度的数字都有哪些,加入到一个集合中
var dic = new Dictionary<int, int>();
var dic2 = new Dictionary<int, List<int>>();
for (int i = ; i < nums.Length; i++)
{
var num = nums[i];
if (!dic.ContainsKey(num))
{
dic.Add(num, );
dic2.Add(num, new List<int>());
}
else
{
dic[num]++;
} dic2[num].Add(i);//记录此数字的所有下标 }
var list = dic.OrderByDescending(x => x.Value).ToList();
int maxFreq = list[].Value;
var list2 = dic.Where(x => x.Value == maxFreq).ToList(); //遍历集合,一次判断每个数最早出现的位置和最晚出现的位置
int min = int.MaxValue;
foreach (var l in list2)
{
var num = l.Key;
var begin = dic2[num].First();
var end = dic2[num].Last();
var dif = end - begin;
if (min > dif)
{
min = dif;
}
}
//寻找最小间隔
return min + ;
}
}

leetcode697的更多相关文章

  1. [Swift]LeetCode697. 数组的度 | Degree of an Array

    Given a non-empty array of non-negative integers nums, the degreeof this array is defined as the max ...

  2. Leetcode697.Degree of an Array数组的度

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

随机推荐

  1. php 配置上传大文件

    打开php.ini,首先找到file_uploads = on ;是否允许通过HTTP上传文件的开关.默认为ON即是开upload_tmp_dir ;文件上传至服务器上存储临时文件的地方,如果没指定就 ...

  2. mongodb查询(转载)

    1.  基本查询:    构造查询数据.    > db.test.findOne()    {         "_id" : ObjectId("4fd58ec ...

  3. Loj 538 递推数列

    Loj 538 递推数列 出题人:这题提高难度吧.于是放在了%你赛的 \(D1T2\) . 递推式为 \(a_i=k*a_{i-1}+a_{i-2}\) , 注意到 \(k\in \mathbb{N_ ...

  4. Objective-C的属性和成员变量用法及关系浅析

    在使用Objective-C语言进行了一段时间的iOS开发之后,发现自己的语言基础相对薄弱,于是开始弥补自己的短处.我发现在用过一种语言之后,再回过头来看它的很多原理会发现有更加深刻的理解.下面就对一 ...

  5. Paths中的几个重要元素

    Paths中的几个重要元素 Points void CGContextMoveToPoint (    CGContextRef c,    CGFloat x,    CGFloat y ); 指定 ...

  6. python笔记-7(shutil/json/pickle/shelve/xml/configparser/hashlib模块)

    一.shutil模块--高级的文件.文件夹.压缩包处理模块 1.通过句柄复制内容 shutil.copyfileobj(f1,f2)对文件的复制(通过句柄fdst/fsrc复制文件内容) 源码: Le ...

  7. MySQL5.7中使用JSON

    一.创建表 CREATE TABLE `user` ( `uid` int(11) NOT NULL AUTO_INCREMENT, `info` json DEFAULT NULL, #注意desc ...

  8. 《DSP using MATLAB》示例 Example 6.25

    代码: % x = [-0.9, 0.81]; [y, L, B] = QCoeff(x, 3) % Unquantized parameters r = 0.9; theta = pi/3; a1 ...

  9. python模块--随机模块

    import random print(random.random()) # 随机产生一个(0,1)的 float 0.026244299361600776 print(random.randint( ...

  10. java 短链接生成

    package shorurl; import org.apache.commons.codec.digest.DigestUtils; import org.apache.commons.lang. ...