[219] 存在重复元素 II

news2024/9/27 5:42:05

模拟滑动窗口 

 

/*
 * @lc app=leetcode.cn id=219 lang=java
 *
 * [219] 存在重复元素 II
 */

// @lc code=start
class Solution {
    public boolean containsNearbyDuplicate(int[] nums, int k) {
        /**
         * 基本思路
         * 模拟 动态滑动窗口
         * 要求窗口左右两边的元素下标差,小于等于 k,即窗口的最大容量为 k + 1, 元素在数组中的下标范围[index, index + k]
         * 存储结构类似队列,但由于需要快速定位元素是否存在,这里使用HashSet, 通过遍历前后的 下标来将窗口最左边的元素弹出
         */

        // 存储当前窗口的元素,窗口长度 <= k
        HashSet<Integer> map = new HashSet<>();
        
        for(int i = 0; i < nums.length; i++)
        {
            int ele = nums[i];

            // 如果存在,则说明存在符合要求的重复元素
            if(map.contains(ele)){
                return true;
            }
        
            // 将这个元素放入
            map.add(ele);

            // 如果元素的数量 为 k + 1时,说明,当前窗口内不存在符合要求的元素
            if(map.size() == k + 1)
            {
                // 将窗口中最左边的元素弹出
                map.remove(nums[i - k]);
            }
        }

        return false;
    }
}
// @lc code=end

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

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

相关文章

链表基础算法题

1 移除链表元素 . - 力扣&#xff08;LeetCode&#xff09; 该题的思路是创建一个新链表&#xff0c;然后遍历原链表&#xff0c;将不是要求移除的链表元素放到新链表中&#xff0c;最后返回创建的新链表 就能达到移除链表元素的作用了。 当然这只是一种做法&#xff0c;还有…

HarmonyOS 开发

环境 下载IDE 代码 import { hilog } from kit.PerformanceAnalysisKit; import testNapi from libentry.so; import { router } from kit.ArkUI; import { common, Want } from kit.AbilityKit;Entry Component struct Index {State message: string Hello HarmonyOS!;p…

Java蛋糕店烘焙店系统小程序系统源码

解锁烘焙新纪元&#xff0c;揭秘“蛋糕店烘焙店系统”的甜蜜秘籍&#xff01; &#x1f31f;【开篇&#xff1a;烘焙业的数字化浪潮】&#x1f31f; 在这个快节奏的时代&#xff0c;传统烘焙行业也迎来了它的数字化转型时刻&#xff01;你是否梦想过拥有一家高效运转、顾客满…

了解 JavaScript 中的请求 API

你准备好提升你的网络开发技能了吗&#xff1f;&#x1f680; 在当今数据驱动的世界中&#xff0c;了解如何从 API 获取和处理数据至关重要。本指南将引导您了解在 JavaScript 中发出 HTTP 请求的最新和最有效的方法&#xff0c;确保您的 Web 应用程序保持动态和前沿。 为什么请…

排序算法【冒泡排序】

一、原理 冒泡排序的原理比较简单&#xff0c;就是将待排序区域的数值挨个向后对比&#xff0c;直到比较到已排序的边界&#xff0c;就纳入已排序区域。 二、代码如下所示&#xff1a; #include <stdio.h> #include "test.h"/* 冒泡排序 */ void bubble_sort(…

【GH】【EXCEL】P2: Read DATA SET from EXCEL into GH

文章目录 ReadRead DataExcel Data sourceGH process and components instructionRead Data Read Data LiveLive Worksheet Read Read Data Excel Data source GH process and components instruction Read Data Read data from Excel Input parameters: Worksheet (Generic …

超网和无类间路由是什么?

​一、超网概述 超网是将多个连续的网络地址组合成一个增加的网络地址的技术。常用于减少路由器的路由表大小&#xff0c;网络的可扩展性。通过合并连续的子网&#xff0c;超网可以减少路由入侵的数量&#xff0c;从而提高网络的效率。 超网的实现基于合并多个具有连续IP地址…

html 首行缩进2字符

1. html 首行缩进2字符 1.1. 场景 在Html开发中让一段文字&#xff08;富文本等&#xff09;首行缩进两个文字&#xff0c;可能在前面加上8个“ ”&#xff0c;因为过去对CSS不熟悉&#xff0c;这种方法实现虽然比较直接&#xff0c;但是文字多的时候会有很多“ ”充斥在代码中…

openGauss 6.0安装过程解除对root用户依赖之gs_preinstall

目录 1.执行前提条件 1.1设置OS参数&#xff1a; 1.2定时任务权限 1.3 修改最大文件描述符 2.切换至omm用户&#xff0c;执行preinstall 3.source环境变量 4.执行gs_install 在给客户部署业务系统时&#xff0c;由于openGauss数据库的预安装过程需要用到root用户执行&am…

SD3+ComfyUI文生图生成指南

随着人工智能技术的飞速发展&#xff0c;文生图技术已经越来越成熟。SD3&#xff08;Stable Diffusion 3 Medium&#xff09;模型以其20亿参数的庞大容量&#xff0c;提供了高质量的图像生成能力。结合ComfyUI这一灵活的节点式操作界面&#xff0c;用户可以更加高效地进行创作。…

企业电脑防泄密用什么加密软件?10款2024年企业文件加密软件推荐

在当今信息化时代&#xff0c;企业数据安全已成为重中之重。文件加密软件能够有效保护敏感信息&#xff0c;防止数据泄露和未经授权的访问。本文将为您推荐十款优秀的企业文件加密软件&#xff0c;帮助企业提高信息安全性。 1.安秉网盾加密软件 安秉网盾加密软件是一款新一代…

虚拟机Linux的坑 | VMware无法从主机向虚拟机 跨系统复制粘贴拖动 文件/文本

这个情况下&#xff0c;还是没办法跨系统拖拽文件 解决办法&#xff1a; 在终端中输入命令 sudo apt-get autoremove open-vm-tools sudo apt-get install open-vm-tools sudo apt-get install open-vm-tools-desktop过程中只要需要选择是否覆盖的地方&#xff0c;都输入&…

8款StableDiffusion插件助你一臂之力

前言 在AI绘画领域&#xff0c;Stable Diffusion&#xff08;SD&#xff09;绝对是设计师和艺术家们最爱用的工具之一。它给设计师们带来了无限的创作灵感&#xff0c;不管是数字艺术、概念设计还是角色建模&#xff0c;都能让设计师们受益匪浅&#xff0c;大大提高他们的出图…

设计开发一个data-table

前言 在日常开发中&#xff0c;数据表格扮演着至关重要的角色。它以结构化的形式展现信息&#xff0c;使数据清晰易懂&#xff0c;开发者基于此类表格可以对其进行拓展和复用&#xff0c;本篇文章我们将循序渐进地介绍如何构建一个功能完善、易于使用的表格组件&#xff0c;并…

Coze插件发布!PDF转Markdown功能便捷集成,打造你的专属智能体

近日&#xff0c;TextIn开发的PDF转Markdown插件正式上架Coze。 在扣子搜索“pdf转markdown”&#xff0c;或在Coze搜索“pdf2markdown” 即可找到插件&#xff0c;在你的专属智能体中便捷使用文档解析功能。 如果想测试解析插件在你需要的场景下表现如何&#xff0c;可以直接…

数据链路层 I(组帧、差错控制)【★★★★★】

&#xff08;★★&#xff09;代表非常重要的知识点&#xff0c;&#xff08;★&#xff09;代表重要的知识点。 为了把主要精力放在点对点信道的数据链路层协议上&#xff0c;可以采用下图&#xff08;a&#xff09;所示的三层模型。在这种三层模型中&#xff0c;不管在哪一段…

09.直线图

9. 直线图 9.1 普通直线图 self.add_heading("直线图", level1)self.add_heading("普通直线图", level2)# 数据源data [10, 20]data2 [40, 60]data3 [80,90]self.add_quick_chart(data[[2018,2024],data, data2, data3],series[pool1使用情况(TiB),poo…

大数据学习-Spark基础入门

一、Spark是什么&#xff1f; Stack Overflow的数据可以看出&#xff0c;2015年开始Spark每月的问题提交数量已经超越Hadoop&#xff0c;而2018年Spark Python版本的API PySpark每月的问题提交数量也已超过Hadoop。2019年排名Spark第一&#xff0c;PySpark第二&#xff1b;而十…

【三维目标检测模型】ImVoxelNet

【版权声明】本文为博主原创文章&#xff0c;未经博主允许严禁转载&#xff0c;我们会定期进行侵权检索。 参考书籍&#xff1a;《人工智能点云处理及深度学习算法》 ImVoxelNet是一种基于RGB图像的三维目标检测模型&#xff0c;发表在WACV 2022 《ImVoxelNet: Image to Vo…

记事本/软件商店/xbox打不开(不会丢失数据)(保姆级教程)

软件商店的安装 &#xff1a; 在某些情况下&#xff0c;系统更新可能导致本地账户和微软账户出现问题&#xff0c; 使得更新似乎只影响到了一个账户&#xff0c;而非我当前使用的账户。 这会导致我环境中的某些Windows自带应用&#xff0c;如微软商店、电影与电视、画图、记事…