当前位置: 首页 > news >正文

LeetCode 3396 题解

题解

范围允许暴力

先上图解

拿以下示例举个例子

[1,2,3,4,2,3,5,7]

当i=0时,set集合添加值1
当i=1时,set集合添加值2
当i=2时,set集合添加值3
当i=3时,set集合添加值4
当i=4时,set集合添加值2时发现我们在i=1时已经添加过了,所以会返回false,那我们就在这里设一个条件来改变状态移除当前set集合并记录下来一次,这里我设置值setNum自增
然后就是改变i的值因为是移除三个元素所以我们需要重新在第三个值后遍历也就是从i=3往后遍历
而i的值与setNum也有关,i = setNum * 3 - 1,但是也得防止i越界所以要判断是否可以使得i值成立不大于n(即数组的长度),不然直接返回setNum

class Solution{
	public int number(int[] nums){
		Set<Integer> set = new HashSet<>();
		int n = nums.length;
		int setNum = 0;
		for(int i=0;i<n;i++){
			if(!set.add(nums[i])){
				setNum++;
				if((3*setNum)>=n){
					return setNum;
				}else{
					i = 3*setNum-1;
				}
				set.clear();
			}
		}
		return setNum;
	}
}
http://www.dtcms.com/a/126148.html

相关文章:

  • 安装vllm
  • 【mllm】——x64模拟htp的后端无法编译debug
  • MySQL深分页问题
  • 【Code】《代码整洁之道》笔记-Chapter11-系统
  • Cuto壁纸 2.6.9 | 解锁所有高清精选壁纸,无广告干扰
  • 单细胞多组学及空间组学数据分析与应用
  • 《系统分析师-浏览试卷(一)总结》
  • 元生代品牌建设:平台实现工作流(comfyui)创建与技术文档说明
  • CVE-2025-32375 | Windows下复现 BentoML runner 服务器远程命令执行漏洞
  • JavaScript:基本语法
  • 电脑的usb端口电压会大于开发板需要的电压吗
  • 【从零开始学习JVM | 第二篇】HotSpot虚拟机对象探秘
  • ai-warp 开源的Platformatic Stackable 与 AI 服务交互
  • 快速idea本地和推送到远程仓库
  • .net 使用笔记
  • 【DDR 内存学习专栏 1. -- DDR 内存带宽与 CPU 速率】
  • 【Hadoop入门】Hadoop生态之Oozie简介
  • windows sc 创建删除服务
  • Java设计模式之享元模式:从入门到架构级实践
  • 断链保护装置常见故障及解决方法
  • 关于freertos的heap_4分配内存的方式以及首次适应算法
  • 【Docker】快速部署 Certbot 并为 Nginx 服务器配置 SSL/TLS 证书
  • AI反检测如何在TikTok养号中发挥关键作用?
  • springboot--页面的国际化
  • SSM aop切面编程的学习
  • 掌握C语言文件操作:从理论到实战指南
  • 一键精准采集单网页,告别手动复制粘贴
  • 【教学类-102-08】剪纸图案全套代码08——Python点状虚线优化版本02(有空隙)+制作1图2图6图24图
  • Matlab 非线性阻尼四分之一车体被动和模糊pid控制悬架对比
  • leetcode_15. 三数之和_java