Leetcode697. 数组的度

深入浅出DDR系列(二)--DDR工作原理 学习完了DDR的基本组成和硬件结构原理之后,从整体上了解了DDR的特性和静态图,包括原理、管脚图等。那么本章就要从动态的角度来分析时序结构,包括read/write的整个过程到数据返回发生了什么,其中包括以下内容 DDR是如何完成Read、Write 等的操作 DDR的基本命令 DDR的时序参数 DDR的性能分析 1. DRAM基本组成 对于DRAM,其主要由行和列组成,每一个bit中都是由类似右下图的类晶体管的结构组成,对于sdram的数据,可以通过控制column和row就可以访问sd 阅读详情

Every day a leetcode

题目来源:697. 数组的度

解法1:哈希

我们这样构建哈希表 unordered_map<int, vector> umap:

  • key:数组元素 nums[i]
  • value:三元组[count, first, last],分别代表元素 nums[i] 的出现次数、第一次出现的下标和最后出现的下标。

我们遍历一次数组 nums 即可构建出该哈希表。

变量 maxTimes 记录出现频数的最大值,minLen 记录与 nums 拥有相同大小的度的最短连续子数组的长度,均初始化为 0。

遍历哈希表:

  • 当 count > maxTimes 时,更新 maxTimes = count,minLen = last - first + 1;
  • 当 count == maxTimes 时,只更新 minLen = min(last - first + 1, minLen);

最后的 minLen 即为答案。

代码:

/*
 * @lc app=leetcode.cn id=697 lang=cpp
 *
 * [697] 数组的度
 */

// @lc code=start
class Solution
{
public:
    int findShortestSubArray(vector<int> &nums)
    {
        int n = nums.size();
        unordered_map<int, vector<int>> umap;
        for (int i = 0; i < n; i++)
        {
            if (umap.count(nums[i]))
            {
                umap[nums[i]][0]++;
                umap[nums[i]][2] = i;
            }
            else
                umap[nums[i]] = {1, i, i};
        }
        int maxTimes = 0;
        int minLen = 0;
        for (auto it = umap.begin(); it != umap.end(); it++)
        {
            if (it->second[0] > maxTimes)
            {
                maxTimes = it->second[0];
                minLen = it->second[2] - it->second[1] + 1;
            }
            else if (it->second[0] == maxTimes)
                minLen = min(minLen, it->second[2] - it->second[1] + 1);
        }
        return minLen;
    }
};
// @lc code=end

结果:

在这里插入图片描述

复杂度分析:

时间复杂度:O(n),其中 n 是原数组 nums 的长度,我们需要遍历原数组和哈希表各一次,它们的大小均为 O(n)。

空间复杂度:O(n),其中 n 是原数组 nums 的长度,最坏情况下,哈希表和原数组等大。

【异常】Claude CLI / Claude Code 命令行工具 “claude 不是内部或外部命令“ 报错完整解决方案 摘要:Windows系统执行Claude命令报错"'claude'不是内部或外部命令",主要原因是环境变量配置问题。解决方案包括:1)通过npm全局安装时需加-g参数并重启终端;2)检查Node.js环境及npm全局路径是否加入系统PATH;3)对于Claude Code独立安装版,需手动添加.local/bin路径到环境变量。常见错误包括安装不完整、权限不足或路径未自动配置,按照对应场景排查即可解决。 阅读详情

相关推荐

海康安防平台接口调试指南:从签名生成到Vue项目集成

本文详细解析了海康安防平台接口认证规则,从签名生成到Vue项目集成的完整流程。通过核心机制解析、签名工具使用技巧及Vue项目中的优雅集成方案,帮助开发者高效完成接口调试,避免常见问题。特别适合需要将海康安防平台接口集成到Vue项目中的开发者参考。

weixin_42533120的博客 439

Leetcode 697.数组的度

Leetcode 697.数组的度 数组的度 给定一个非空且只包含非负数的整数数组 nums, 数组的度的定义是指数组里任一元素出现频数的最大值。 你的任务是找到与 nums 拥有相同大小的度的最短连续子数组,返回其长度。 示例 1: 输入: [1, 2, 2, 3, 1] 输出: 2 解释: 输入数组的度是2,因为元素1和2的出现频数最大,均为2. 连续子数组里面拥有相同度的有如下所示: [1, 2, 2, 3, 1], [1, 2, 2, 3], [2, 2, 3, 1], [1, 2, 2], [

EIUC_Thread的博客 220

地图坐标系大全:常用地图坐标系详解与转换指南

地图坐标系是用于描述地图上位置的数学模型。它可以用来表示地球表面上的任意一个点,使得这个点的位置可以在地图上精确定位。不同的地图坐标系采用不同的基准面和投影方式,因此会有不同的坐标系参数,不同的坐标系之间也需要进行坐标转换。在地图制图、导航、GIS等领域中,地图坐标系是一个非常重要的概念。

weixin_39888010的博客 1万+

巧妙运用map 力扣 697. 数组的度

力扣 697. 数组的度 给定一个非空且只包含非负数的整数数组 nums, 数组的度的定义是指数组里任一元素出现频数的最大值。 你的任务是找到与 nums 拥有相同大小的度的最短连续子数组,返回其长度。 示例 1: 输入: [1, 2, 2, 3, 1] 输出: 2 解释: 输入数组的度是2,因为元素1和2的出现频数最大,均为2. 连续子数组里面拥有相同度的有如下所示: [1, 2, 2, 3, 1], [1, 2, 2, 3], [2, 2, 3, 1], [1, 2, 2], [2, 2, 3],

Gettler的博客 1085

Langchain与Milvus集成中的pymilvus.exceptions.MilvusException: channel not found错误解析

本文深入解析了在Langchain与Milvus集成时常见的pymilvus.exceptions.MilvusException: channel not found错误。该错误通常由客户端配置错误、网络问题、服务端状态异常或版本不兼容导致。文章提供了从基础连通性测试到高级网络排查的完整故障排除指南,并针对本地Docker、远程服务器及Kubernetes等典型部署场景给出了具体解决方案,帮助开发者快速定位并修复这一连接层问题。

weixin_29229989的博客 217

工程师必读一次性讲明白系列(十三)眼图、阻抗匹配、信号一致性、射频匹配、电磁感应

概念主要作用影响因素解决方法眼图评估信号质量,显示失真和噪声噪声、信号失真、时序抖动改善信号源、使用低噪声组件阻抗匹配避免信号反射,提高传输效率阻抗不匹配、传输线路特性使用匹配电路、适配器信号一致性保证信号稳定准确传输传输线路、噪声干扰使用屏蔽、滤波器,选择合适线路射频匹配确保射频信号高效传输天线设计、阻抗不匹配使用射频匹配器、调整天线设计电磁感应防止电磁干扰对信号的影响设备之间的电磁干扰(EMI)屏蔽、接地、滤波器。

weixin_43199439的博客 164

Leetcode 697. 数组的度 C++

Leetcode 697. 数组的度 题目 给定一个非空且只包含非负数的整数数组 nums, 数组的度的定义是指数组里任一元素出现频数的最大值。 你的任务是找到与 nums 拥有相同大小的度的最短连续子数组,返回其长度。 测试样例 示例 1: 输入: [1, 2, 2, 3, 1] 输出: 2 解释: 输入数组的度是2,因为元素1和2的出现频数最大,均为2. 连续子数组里面拥有相同度的有如下所示: [1, 2, 2, 3, 1], [1, 2, 2, 3], [2, 2, 3, 1], [1, 2, 2]

weixin_43750513的博客 203

【YOLOv11】006、YOLOv11数据增强策略:Mosaic、MixUp等增强技术原理解析

摘要:YOLOv11在产线缺陷检测中遇到小尺寸瑕疵漏检问题,暴露了训练数据过于"干净"的缺陷。数据增强的核心是提升模型泛化能力,而非简单扩充数据。Mosaic增强通过多图拼接迫使模型处理多尺度目标,需注意边界框裁剪细节;MixUp通过线性插值使决策边界更平滑,但需避免类别冲突。自适应增强策略应随训练进度动态调整强度。实际应用中,需针对小目标、类别不平衡等场景调整增强参数,并确保验证与推理流程一致。数据增强应针对性解决具体问题,而非盲目尝试组合。

企鹅码农的专属播客,分享10多年的实战案例和经验解读,包含YOLO、RT-DETR、AI等各个工作领域。 369

5. leetCode--697数组的度

文章目录1. `leetCode`--697数组的度1.1 问题描述1.2 问题分析1.3 代码实现1.4 测试代码1.5 结果分析 1. leetCode–697数组的度 题目连接:https://leetcode-cn.com/problems/degree-of-an-array 题目类型: 简单数组 1.1 问题描述 给定一个非空且只包含非负数的整数数组 nums, 数组的度的定义是指数组里任一元素出现频数的最大值。 你的任务是找到与 nums 拥有相同大小的度的最短连续子数组

weixin_45267102的博客 365

波士顿房价预测分析----以线性回归LinearRegression为例

波士顿房价数据集包括506个样本,每个样本包括13个特征变量和该地区的平均房价,房价显然和多个特征变量相关,先选择一元线性回归与多个特征建立线性方程,观察模型预测的好坏,再选择多元线性回归进行房价预测。13个特征变量缩写含义CRIM城镇人均犯罪率ZN住宅用地所占比例INDUS城镇中非住宅用地所占比例CHAS虚拟变量,用于回归分析NOX环保指数RM每栋住宅的房间数AGE1940 年以前建成的自住单位的比例DIS距离 5 个波士顿的就业中心的加权距离RAD。

我走的每一步都算数 843

【BlueDroid】蓝牙音乐协议分析之A2DP和AVRCP连接流程(超详细)

AVCTP协议描述了蓝牙设备间Audio/Video的控制信号交换的格式和机制,他是一个总体的协议,具体的控制信息由其指定的协议(AVRCP)实现,AVCTP协议本身只指定控制Command和Response的总体的格式;这个过程中对应了Event中的btavrcp_play_status_changed_callback和btavrcp_play_position_changed_callback;上述为AVCTP-Control建立L2CAP连接的Command,对应H4的Sent (0x00);

风云说通信 7318

LeetCode 697.数组的度 | 从暴力超时到最优解法

本文记录了求解LeetCode 697题(数组的度)的思考过程。最初采用暴力枚举法,最终采用三哈希表法,将时间复杂度优化至O(n)。有时转换思路比执着优化原有方法更有效,理解问题本质才是解题关键。

2301_81099859的博客 656

指纹浏览器指纹工厂(下):基于真实设备数据特征的马尔可夫链生成与校验

本文揭示了静态指纹生成算法在高级风控时序追踪下的致命缺陷,指出违背设备演进马尔可夫性质(如无状态跳跃、因果断裂)是导致指纹存活率骤降的核心原因。通过分析风控系统的时序状态机与多维特征验证机制,提出基于隐马尔可夫模型(HMM)的动态指纹架构:以真实设备的状态转移链为蓝本,构建异步演进的“数字基因熔炉”,通过非均匀时间步长、突发事件响应及微观因果绑定,模拟软硬件独立更新的物理法则。最终实现指纹在时间维度与微观特征上的自洽,规避风控的时序陷阱。

数据知道的博客 418

LeetCode 697. 数组的度

LeetCode 697. 数组的度 给定一个非空且只包含非负数的整数数组 nums, 数组的度的定义是指数组里任一元素出现频数的最大值。 你的任务是找到与 nums 拥有相同大小的度的最短连续子数组,返回其长度。 示例 输入: [1, 2, 2, 3, 1] 输出: 2 解释: 输入数组的度是2,因为元素1和2的出现频数最大,均为2. 连续子数组里面拥有相同度的有如下所示: [1, 2, ...

缇欧的咪西 535

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

LeetCode697数组的度

LeetCode697数组的度 题目: 给定一个非空且只包含非负数的整数数组nums, 数组的度的定义是指数组里任一元素出现频数的最大值。 你的任务是找到与 nums 拥有相同大小的度的最短连续子数组,返回其长度。 示例: 示例 1: 输入: [1, 2, 2, 3, 1] 输出: 2 解释: 输入数组的度是2,因为元素1和2的出现频数最大,均为2. 连续子数组里面拥有相同度的有如下所示: [1,...

qq_45804124的博客 222

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

3、leetcode 697 数组的度

leetcode 697 数组的度 给定一个非空且只包含非负数的整数数组 nums,数组的度的定义是指数组里任一元素出现频数的最大值。 你的任务是在 nums 中找到与 nums 拥有相同大小的度的最短连续子数组,返回其长度。 示例 1: 输入:[1, 2, 2, 3, 1] 输出:2 解释: 输入数组的度是2,因为元素1和2的出现频数最大,均为2. 连续子数组里面拥有相同度的有如下所示: [1, 2, 2, 3, 1], [1, 2, 2, 3], [2, 2, 3, 1], [1, 2, 2], [2,

hh_ylf的博客 418

leetcode 算法题697 (简单178) 数组的度

leetcode 算法题697 (简单178) 数组的度 题目介绍 给定一个非空且只包含非负数的整数数组 nums, 数组的度的定义是指数组里任一元素出现频数的最大值。 你的任务是找到与 nums 拥有相同大小的度的最短连续子数组, 返回其长度。 示例 输入: [1, 2, 2, 3, 1] 输出: 2 解释: 输入数组的度是2,因为元素1和2的出现频数...

FYuu95100的博客 198

[LeetCode] 697. 数组的度(Java)

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

是猛男|二次元|玩原神|含盐量极高|不是GAY|不玩币|不接单 354

LeetCode 697 数组的度

LeetCode 697 数组的度 1.题目描述: 给定一个非空且只包含非负数的整数数组 nums,数组的度的定义是指数组里任一元素出现频数的最大值。 你的任务是在 nums 中找到与 nums 拥有相同大小的度的最短连续子数组,返回其长度。 示例 1: 输入:[1, 2, 2, 3, 1] 输出:2 解释: 输入数组的度是2,因为元素1和2的出现频数最大,均为2. 连续子数组里面拥有相同度的有如下所示: [1, 2, 2, 3, 1], [1, 2, 2, 3], [2, 2, 3, 1], [1, 2,

qq_51451731的博客 140

14. LeetCode 697. 数组的度

LeetCode 697. 数组的度 天津科技大学第六届科技文化节算法设计大赛第13题 难度:中等 题目: 给定一个非空且只包含非负数的整数数组 nums,数组的度的定义是指数组里任一元素出现频数的最大值。 你的任务是在 nums 中找到与 nums 拥有相同大小的度的最短连续子数组,返回其长度。 示例 1: 输入:[1, 2, 2, 3, 1] 输出:2 解释: 输入数组的度是2,因为元素1和2的出现频数最大,均为2. 连续子数组里面拥有相同度的有如下所示: [1, 2, 2, 3, 1], [1, 2,

tuygioj的博客 148

leetcode 697. 数组的度

leetcode 697. 数组的度

qq_44722108的博客 180

leetcode:697. 数组的度

2)在求与原数组相同度的最短子数组。

OceanStar的博客 210

【力扣】697. 数组的度

以下为本人思路,以及力扣的官方题解 697. 数组的度题目示例1示例2提示本人思路失败代码官方题解方法一 哈希表思路与算法代码复杂度分析 题目 给定一个非空且只包含非负数的整数数组 numsnumsnums,数组的度的定义是指数组里任一元素出现频数的最大值。 你的任务是在 numsnumsnums 中找到与 numsnumsnums 拥有相同大小的度的最短连续子数组,返回其长度。 示例1 输入:[1,2,2,3,1][1, 2, 2, 3, 1][1,2,2,3,1] 输出:222 解释:输入数组的度

qq_45256357的博客 289

【Leetcode】697. 数组的度(Degree of an Array)

Leetcode - 697 Degree of an Array (Easy) 题目描述:数组的度是指数组中出现次数最多的元素的出现次数,例如数组 [1,2,2,2,1] 的度为 3,要求找到长度最小的子数组且该子数组的度与原数组的度相同。 Input: [1, 2, 2, 3, 1] Output: 2 Explanation: The input array has a degree of...

厉兵秣码 230
上一篇: 计算机图形学 | 实验七:完成摄像机类的创建
下一篇: Leetcode2404. 出现最频繁的偶数元素
UestcXiye
博客等级 码龄8年 9032粉丝 1306原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

UestcXiye

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值