leetcode 697. Degree of an Array(数组的度)

PCL1.12.1+VTK9.1+Qt5.14.2实战:解决QVTKOpenGLNativeWidget点云渲染窗口初始化报错问题 本文针对PCL1.12.1、VTK9.1与Qt5.14.2集成开发中,QVTKOpenGLNativeWidget点云渲染窗口初始化时出现的报错与黑屏问题,提供了深度分析与两种实战解决方案。核心在于理解VTK版本升级导致的渲染窗口类型不匹配,并指导开发者通过显式创建vtkGenericOpenGLRenderWindow或利用窗口ID嵌入,正确初始化并绑定可视化组件,从而稳定实现点云渲染。 阅读详情

Given a non-empty array of non-negative integers nums, the degree of this array is defined as the maximum frequency of any one of its elements.

Your task is to find the smallest possible length of a (contiguous) subarray of nums, that has the same degree as nums.

Example 1:

Input: nums = [1,2,2,3,1]
Output: 2
Explanation:
The input array has a degree of 2 because both elements 1 and 2 appear twice.
Of the subarrays that have the same degree:
[1, 2, 2, 3, 1], [1, 2, 2, 3], [2, 2, 3, 1], [1, 2, 2], [2, 2, 3], [2, 2]
The shortest length is 2. So return 2.

给出一个数组,数组的度即为出现最多的数字出现的次数,让找出一个子数组和原数组的度一样

思路:
如果只计算数组的度,那么用majority element的投票法就能解决,但是现在要找出一个最短的子数组和原数组的度一样。
而且现在不知道哪个数字出现的次数最多,也可能几个出现次数一样多的要选择一个能使子数组最短的。因此需要一个hashMap来保存每个数字出现的次数。

而且要找到子数组的长度需要知道start index和end index,把每个数字第一次出现的index保存为start index,end index就是现在遍历到的index。
因此另外需要一个hashMap保存start index

当当前遍历到的数字出现的次数等于degree时,就取现有的作为结果的子数组长度和当前index - start index +1中较小的
当遍历到的数字出现的次数>degree时,直接将结果更新到index - start index + 1

这样只要遍历一次就可以了

    public int findShortestSubArray(int[] nums) {
        if(nums == null || nums.length == 0) {
            return 0;
        }
        
        HashMap<Integer, Integer> count = new HashMap<>();
        HashMap<Integer, Integer> startIdx = new HashMap<>();
        
        int degree = 0;
        int result = Integer.MAX_VALUE;
        int n = nums.length;
        
        for(int i = 0; i < n; i++) {
            int tmp = count.getOrDefault(nums[i], 0);
            if(tmp == 0) {
                startIdx.put(nums[i], i);
            }
            count.put(nums[i], tmp+1);
            int cnt = count.get(nums[i]);
            if(cnt > degree) {
                degree = cnt;
                result = i-startIdx.get(nums[i]) + 1;
            } else if(cnt == degree) {
                result = Math.min(result, i-startIdx.get(nums[i]) + 1);
            }
        }
        
        return result;
    }
Python 爬虫实战:简易爬取知乎回答内容 本文详细介绍了使用Python爬取知乎回答内容的实战方法。通过分析知乎异步加载API接口,讲解如何构建带反爬策略的爬虫代码,包括请求头设置、JSON数据解析和内容清洗等核心步骤。文章提供了完整可运行的代码示例,并针对多页爬取、数据保存和反爬升级给出优化建议。同时强调爬虫使用的合规性,帮助新手快速掌握动态网页爬取的核心技巧,实现从静态到动态网页爬虫的进阶。 阅读详情

相关推荐

微信DAT图片恢复全攻略:从文件路径到批量解密(附最新工具下载)

本文详细介绍了微信DAT图片恢复的全过程,从文件路径定位到批量解密操作,帮助用户高效恢复加密存储的图片。文章涵盖新旧版本微信的存储结构差异,推荐使用专业解密工具进行批量转换,并提供了提升恢复成功率的实用技巧和常见问题解决方案。

weixin_29325007的博客 457

LeetCode算法题-Degree of an Array(Java实现)

这是悦乐书的第294次更新,第312篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第162题(顺位题号是697)。给定一个由正整数组成的非空数组,该数组的度数被定义为任意元素出现次数最多的次数。你的任务是找到一个(连续的)nums子数组的最小可能长度,它与nums具有相同的度数。例如: 输入:[1,2,2,3,1] 输出:2 说明:输入数组的度数为2,因为元素1和2...

weixin_34018202的博客 134

【为K8s的coredns配置上游DNS服务器】

为K8s的coredns配置上游DNS服务器一、背景描述二、如何修改coredns达到目的三、修改coredns 解析指定域名走指定dns①、get coredns configmap②、修改coredns configmap③、查询现有coredns pod并逐个重启④、验证解析是否正确 一、背景描述 有一个项目需要部署到客户内网,并通过nat映射实现外网访问! 项目中有多个服务之间调用是走的外网域名,项目采用k8s集群容器部署,客户的网络情况导致服务之间通过外网域名互调时总是 connection ti

那个那个 6673

leetcode 697. Degree of an Array 数组的度(简单)

首先给数组的度下一个定义,给一个数组,某个或某些数字出现最多的次数为该数组的度。题目要求我们找到最短的子数组使其和原数组拥有相同的度。

ln_ydc的专栏 339

CMN-700组件全解析:从XP路由器到HN-F主节点的实战配置指南

本文深入解析Arm CMN-700片上网络IP的核心组件与实战配置。重点剖析了XP网格路由器的拓扑规划与CHI通道管理,以及HN-F全一致性主节点在维护缓存一致性、管理SLC和地址映射中的关键作用。通过一个12×12网格的配置案例,为硬件工程师提供了从组件布局、地址映射到性能调优的系统级设计指南。

weixin_29313423的博客 287

Deep Reinforcement Learning - 1. DDPG原理和算法

Deep Reinforcement Learning - 1. DDPG原理和算法 背景描述 DDPG的定义和应用场景 DDPG算法相关基本概念定义 DDPG实现框架和算法 DDPG对于DPG的关键改进 下一篇 以下用RL作为Reinforcement Learning 的简称。背景描述概括来说,RL要解决的问

kenneth_yu的博客 14万+

Degree of an Array【一个数组的度】

PROBLEM:Given a non-empty array of non-negative integers nums, the degree of this array is defined as the maximum frequency of any one of its elements.Your task is to find the smallest possible length...

Sim0Hayha的博客 405

IAP板卡远程升级(串口网口都可)+Ymodem+AES对bin文件加密+pc软件+板卡相互烧录

还是决定记录一下,毕竟这个东西我也搞了挺久的,遇到一些棘手的,或者是因为我很粗心遇到的问题也和大家分享一下,。 板卡核心是 STM32F103RCT6,256kflash 前言 开始看这个远程升级的时候,我是一头雾水的,原子哥的教程里面也有说到过iap,有了一个大概的了解,我想不明白的是,通过串口下载的方式把hex文件下载到flash,和把bin文件下载到flash难道不是拉一根线,下载一个文件嘛,(初入职场的我并没有考虑到安全这个问题)如果直接将hex文件给到客户那边,风险是非常大...

那可真是太开心了的博客 5371

LeetCode#697 Degree of Array

1、比较笨的方式是先用vector给每一个元素计数(注意这个vector的长度,原数组可能有负数),然后找到degree并记录哪些元素是候选项;再针对每一个候选项遍历原数组。 很笨的方法但很有效; if(nums.size() == 1) return 1; vector&lt;int&gt;::iterator iter = max_element(nums.begin()...

rpybd的博客 162

PyTorch深度学习实战(1)——神经网络与模型训练过程详解

在本节中,我们将了解传统机器学习与人工神经网络间的差异,并了解如何在实现前向传播之前连接网络的各个层,以计算与网络当前权重对应的损失值;实现反向传播以优化权重达到最小化损失值的目标。并将实现网络的所有关键组成——前向传播、激活函数、损失函数、链式法则和梯度下降,从零开始构建并训练了一个简单的神经网络。

盼小辉丶的博客 9万+

python点云可视化

Python三种点云可视化方案:mayavi、matplotlib、CloudCompare。

叶子的博客 1万+

LeetCode-697. Degree of an Array(数组的度)

数组的度 给定一个非空且只包含非负数的整数数组 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, 2, 3], [2,

三九_感冒灵的博客 221

芒果YOLO11改进12:即插即用 | 独家原创改进最新PWConv核心结构|来自最新CVPR2023顶会,

即插即用 | 独家原创改进最新PWConv核心结构|来自最新CVPR2023顶会,

包括YOLOv5、YOLOv7、YOLOv8等模型改进 567

【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

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

[java] LeetCode 697. Degree of an Array | 数组的度

题目描述 解题思路 这题需要我们找到满足最大频数的最小子序列,最大频数的出现必然是某个值或频数相等的某几个值,最短的子序列即在原序列中截取得到包含所有该数的子序列,如上例子中就是把最左边的2的左边的数全部去掉,最右边的2的右边的数全部去掉。 第一步:找到出现频数最高的数,它可能是一个或者多个。 第二步:分别截取包含所有这些数的最短连续数组。 第三步:返回以上几种情况中的最短的连续数组长度。 代码...

马一凡的博客 318

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

Leetcode 697. 数组的度 697. Degree of an Array

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

歌古道的博客 213

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

Leetcode697.Degree of an Array数组的度

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

Ha12312的博客 134

LeetCode-697:Degree of an Array (度相同的最小子数组)

给定非空非负整数数组,寻找最小连续子数组,使得子数组的度与原数组的度相同,返回子数组的长度

大树先生的博客 5378

leetcode 697. Degree of an Array 题解(数组的度)

题目 Given a non-empty array of non-negative integers nums, the degree of this array is defined as the maximum frequency of any one of its elements. Your task is to find the smallest possible length o

iterate7的博客 683

leetcode 697. Degree of an Array 数组的度

文章摘要: 题目要求找出数组的度(出现频率最高的元素的最大频次)对应的最短连续子数组长度。解题方法是使用哈希表统计每个元素的出现位置,记录频次最高的元素,并计算其首次和末次出现位置的最小差值。算法遍历数组两次,时间复杂度O(n),空间复杂度O(n)。代码实现中,哈希表存储元素索引列表,比较频次并更新最短子数组长度,最终返回最小值。该解法效率较高,耗时击败96%用户。

邹九的个人博客 223

leetcode 697. Degree of an Array数组的度

leetcode 697. Degree of an Array数组的度

Shauna_Wu的博客 699

leetcode 697. 数组的度(Degree of an Array)

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

weixin_30237281的博客 82

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

★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤微信公众号:山青咏芝(shanqingyongzhi)➤博客园地址:山青咏芝(https://www.cnblogs.com/strengthen/)➤GitHub地址:https://github.com/strengthen/LeetCode➤原文地址:https://www.cnblogs.com/stren...

weixin_30247159的博客 103

LeetCode - 697 - 数组的度(degree-of-an-array)

一 目录 不折腾的前端,和咸鱼有什么区别目录一 目录二 前言三 解题及测试四 LeetCode Submit五 解题思路二 前言 难度:简单涉及知识:数组题目地址:https://lee...

weixin_41806099的博客 242

【LeetCode】697. Degree of an Array 数组的度(Easy)(JAVA)

【LeetCode】697. Degree of an Array 数组的度(Easy)(JAVA) 题目地址: https://leetcode.com/problems/degree-of-an-array/ 题目描述: Given a non-empty array of non-negative integers nums, the degree of this array is defined as the maximum frequency of any one of its elements.

qq_16927853的博客 298

[LeetCode] 697. Degree of an Array 数组的度

Given a non-empty array of non-negative integersnums, thedegreeof this array is defined as the maximum frequency of any one of its elements. Your task is to find the smallest possible length of a ...

weixin_30869099的博客 82
上一篇: leetcode 695. Max Area of Island(岛的最大面积)
下一篇: leetcode 670. Maximum Swap(最大交换)
蓝羽飞鸟
博客等级 码龄8年 1万+粉丝 727原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

打赏作者

蓝羽飞鸟

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

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

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

打赏作者

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

抵扣说明:

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

余额充值