LeetCode 697. 数组的度

1. 题目

给定一个非空且只包含非负数的整数数组 nums
数组的度的定义是指数组里任一元素出现频数最大值

你的任务是找到与 nums 拥有相同大小的度的最短连续子数组,返回其长度。

示例 1:
输入: [1, 2, 2, 3, 1]
输出: 2
解释: 
输入数组的度是2,因为元素12的出现频数最大,均为2.
连续子数组里面拥有相同度的有如下所示:
[1, 2, 2, 3, 1], [1, 2, 2, 3], [2, 2, 3, 1], 
[1, 2, 2], [2, 2, 3], [2, 2]
最短连续子数组[2, 2]的长度为2,所以返回2.示例 2:
输入: [1,2,2,3,1,4,2]
输出: 6注意:
nums.length 在150,000区间范围内。
nums[i] 是一个在049,999范围内的整数。

来源:力扣(LeetCode) 链接:https://leetcode-cn.com/problems/degree-of-an-array
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

2. 解题

class Solution {
public:int findShortestSubArray(vector<int>& nums) {int degree = 1, n, minlen = INT_MAX;unordered_map<int, int> m, start, end;for (int i = 0; i < nums.size(); ++i){if(m.find(nums[i]) == m.end())//没出现过该数{m[nums[i]] = 1;//计数start[nums[i]] = i;//数字起始位置end[nums[i]] = i;//终止位置}else//出现过该数字{m[nums[i]]++;//计数if(m[nums[i]] > degree)//更新最大频数degree = m[nums[i]];end[nums[i]] = i;//更新终止位置}}for(auto it = m.begin(); it != m.end(); ++it){if(it->second == degree)//等于最大的频数{if(end[it->first]-start[it->first]+1 < minlen)//长度更小minlen = end[it->first]-start[it->first]+1;}}return minlen;}
};

76 ms 13.8 MB

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/476273.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

李宏毅机器学习(四)Spatial Transformer Layer

学习内容 架构&#xff1b; 目的就是克服CNN的旋转和缩放不变性的缺点的&#xff01; 前情提要 CNN is not invariant to scaling and rotation&#xff1b; CNN对缩放和旋转不是不变的&#xff1b;也就是说CNN是变化的&#xff0c;不具有旋转和缩放不变性&#xff1b; 因为…

我的大理行

离开北京的时候是周五&#xff0c;天气很诡异&#xff1a;潮湿而又充满尘燥&#xff0c;阴霾而又阳光明亮&#xff0c; 真不知道这样的天气怎么能够共存&#xff1f;&#xff01; 我发神经的做上了飞往云南的航班&#xff0c;这是休息&#xff0c;是治疗。 飞机正位&#xff0c…

LeetCode 703. 数据流中的第K大元素(优先队列)

1. 题目 设计一个找到数据流中第K大元素的类&#xff08;class&#xff09;。 注意是排序后的第K大元素&#xff0c;不是第K个不同的元素。 你的 KthLargest 类需要一个同时接收整数 k 和整数数组nums 的构造器&#xff0c;它包含数据流中的初始元素。 每次调用 KthLargest.a…

李宏毅机器学习(五)Transformer

学习内容 前情提要 Sequence-to-sequence&#xff08;Seq2Seq&#xff09; 输入是一个句子&#xff0c;输出长度不定&#xff1b; 下面的第一个是语音辨识&#xff0c;第二个是机器翻译&#xff0c;第三个是语音翻译。这三个都是独立的任务。 第三个是语音翻译&#xff0c;就…

Asp.net中的时区

首先&#xff0c;日期时间转换在 Asp.net 中的几种应用&#xff1a; 1. <ASP:BOUNDCOLUMN DATAFIELD "JoinTime " DATAFORMATSTRING "{0:yyyy-MM-dd} " > <ITEMSTYLE WIDTH "18% " > </ITEMSTYLE > </ASP:BOUNDCO…

中文python笔记_Python学习笔记-基础篇

安装LinuxLinux已经自带Python了&#xff0c;我的Centos7自带Python2.7.4&#xff0c;我通过源码安装来更新版本。#!/bin/bash#源码安装wget https://www.python.org/ftp/python/2.7.9/Python-2.7.9.tgztar -zxvf Python-2.7.9.tgzcd Python-2.7.9#编译安装./configuremakemake…

python模块time_Python模块:time模块详解(转)

在平常的代码中&#xff0c;我们常常需要与时间打交道。在Python中&#xff0c;与时间处理有关的模块就包括&#xff1a;time&#xff0c;datetime以及calendar。这篇文章&#xff0c;主要讲解time模块。在开始之前&#xff0c;首先要说明这几点&#xff1a;在Python中&#xf…

李宏毅机器学习(六)自监督学习(一)

学习内容 前情提要 BERT与芝麻街 这些都是BERT的组件 BERT与进击的巨人 BERT&#xff08;340 M 参数&#xff09; ELMO&#xff08;94M&#xff09; GPT-2&#xff08;1542M&#xff09; Megatron&#xff08;8B&#xff09; T5&#xff08;11B&#xff09; Turing NLG&…

LeetCode 717. 1比特与2比特字符

1. 题目 有两种特殊字符。第一种字符可以用一比特0来表示。第二种字符可以用两比特(10 或 11)来表示。 现给一个由若干比特组成的字符串。 问最后一个字符是否必定为一个一比特字符。 给定的字符串总是由0结束。 示例 1: 输入: bits [1, 0, 0] 输出: True 解释: 唯一的编…

制作多系统启动盘教程_制作U盘启动盘教程

制作 U 盘启动盘图文教程 在笔记本电脑早已普及到会议室的这个年代&#xff0c;商务人士拿笔记本来演示 PPT 以及做电子版 的会议记录&#xff1b;在笔记本电脑已经普及到教室的这个年代&#xff0c;学生们甚至在用笔记本翻阅资料 进行开卷考试。随着笔记本电脑正在成为人们生活…

移动设备应用程序开发入门一:创建用于设备的 Windows 窗体应用程序并打包进行部署...

目标&#xff1a;了解如何使用 Visual C# 创建一个简单的 Hello World 应用程序&#xff0c;该应用程序可在 Pocket PC 上运行。 了解如何为应用程序创建随后可部署到智能设备上的 .cab 文件。 创建使用 Windows 窗体的设备项目 (Visual C#) 在 Visual Studio 中的“文件”菜单…

论文阅读笔记(五)【ACL 2021】Answering Ambiguous Questions through Generative Evidence Fusion and Round-Trip P

通过生成性证据融合和往返预测回答模糊问题 关键词&#xff1a; 生成性证据融合&#xff1b; 往返预测&#xff1b; 模糊问题 摘要 一般的开放域QA问题&#xff1a; 在开放域问答中&#xff0c;问题很可能是模棱两可的&#xff0c;因为用户在制定问题时可能不知道相关主题的…

c语言不会可以学好java吗_不会C语言能学Java吗

不会C语言能学Java吗&#xff1f;当然可以&#xff0c;学码思不少小伙伴没有任何代码基础&#xff0c;来这里Java培训学的也非常不错&#xff0c;都获得了理想的就业。现在时代不一样了&#xff0c;编程语言更新换代的速度也很快&#xff0c;很多老程序员都是从C语言入门&#…

ie下滚动条样式设置

项目中需要配置滚动条的样式&#xff0c;故做了如下小程序协助配置&#xff1a;这个是示例这个是示例这个是示例这个是示例这个是示例这个是示例这个是示例这个是示例这个是示例立体滚动条亮边的颜色&#xff1a;滚动条空白部分的颜色&#xff1a;立体滚动条凸出部分的颜色&…

李宏毅机器学习(七)自监督学习(二)BERT奇闻轶事

WHY does BERT work&#xff1f; BERT会考虑上下文&#xff01; 进行Word Embedding&#xff01;将一个单词表示成向量&#xff0c;比如苹果单词中的“果”和苹果公司中的“果”&#xff0c;在经过Embedding后虽然同样是同一个词&#xff0c;但是由于上下文不同&#xff0c;所…

vue 组件第一次不渲染问题_vue使用组件不渲染 只有代码变了才渲染

这个组件是一个chartimport { Line } from vue-chartjs;export default {extends: Line,mounted () {this.renderChart({labels: [January, February, March, April, May, June, July],datasets: [{label: success,backgroundColor: #FC2525,fill: transparent,data: [40, 39, …

LeetCode 747. 至少是其他数字两倍的最大数

1. 题目 在一个给定的数组nums中&#xff0c;总是存在一个最大元素 。 查找数组中的最大元素是否至少是数组中每个其他数字的两倍。 如果是&#xff0c;则返回最大元素的索引&#xff0c;否则返回-1。 示例 1: 输入: nums [3, 6, 1, 0] 输出: 1 解释: 6是最大的整数, 对于…

主从表主键外键

A表的主键在B表中充当外键&#xff0c;谁是主表&#xff0c;谁是子表&#xff1f; A为主表B为从表 个人认为&#xff1a; 外键是约束的一种。不存在主从关系&#xff0c;只存在引用关系&#xff0c;如部门表与员工表。每个员工都属于某个部门&#xff0c;必须与某个部门资料对应…

简单循迹小车实验心得_红外自动循迹小车实验报告

红外自动循迹小车实验报告 1摘要 本实验完成采用红外反射式传感器的自寻迹小车的设计与实现。采用与白色地面色差很大的黑色 路线引导小车按照既定路线前进&#xff0c;在意外偏离引导线的情况下自动回位&#xff0c;并能显示小车停止的时间。 本设计采用单片机STC89C51作为小车…