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

leetcode645. 错误的集合(java)

错误的集合

  • 题目描述
    • 优化空间
    • 代码演示

题目描述

难度 - 简单
LC645 - 错误的集合

集合 s 包含从 1 到 n 的整数。不幸的是,因为数据错误,导致集合里面某一个数字复制了成了集合里面的另外一个数字的值,导致集合 丢失了一个数字 并且 有一个数字重复 。
给定一个数组 nums 代表了集合 S 发生错误后的结果。
请你找出重复出现的整数,再找到丢失的整数,将它们以数组的形式返回。

示例 1:
输入:nums = [1,2,2,4]
输出:[2,3]

示例 2:
输入:nums = [1,1]
输出:[1,2]

提示:
2 <= nums.length <= 104
1 <= nums[i] <= 104

在这里插入图片描述

优化空间

如果用hashMap 去记录每个数字出现的频率,那就是简单的程度,但既然写出来这个题,就不会用hashMap,我们用原数组的基础上,实现这个功能。优化了空间复杂度。

这个问题的特点是,每个元素和数组索引有一定的对应关系。
我们现在自己改造下问题,暂且将nums中的元素变为[0…N-1],这样每个元素就和一个数组索引完全对应了,这样方便理解一些。
如果说nums中不存在重复元素和缺失元素,那么每个元素就和唯一一个索引值对应,对吧?
现在的问题是,有一个元素重复了,同时导致一个元素缺失了,这会产生什么现象呢?会导致有两个元素对应到了同一个索引,而且会有一个索引没有元素对应过去。
那么,如果我能够通过某些方法,找到这个重复对应的索引,不就是找到了那个重复元素么?找到那个没有元素对应的索引,不就是找到了那个缺失的元素了么?
那么,如何不使用额外空间判断某个索引有多少个元素对应呢?这就是这个问题的精妙之处了:
通过将每个索引对应的元素变成负数,以表示这个索引被对应过一次了.

代码演示

class Solution {public int[] findErrorNums(int[] nums) {int cop = -1;for(int i = 0; i < nums.length;i++){int index = Math.abs(nums[i]) - 1;if(nums[index] < 0){cop = Math.abs(nums[i]);}else{nums[index] *= -1;}}int miss = -1;for(int i = 0; i < nums.length;i++){if(nums[i] > 0){miss = i + 1;}}return new int[]{cop,miss};}
}

相关文章:

leetcode645. 错误的集合(java)

错误的集合 题目描述优化空间代码演示 题目描述 难度 - 简单 LC645 - 错误的集合 集合 s 包含从 1 到 n 的整数。不幸的是&#xff0c;因为数据错误&#xff0c;导致集合里面某一个数字复制了成了集合里面的另外一个数字的值&#xff0c;导致集合 丢失了一个数字 并且 有一个数…...

Pytest参数详解 — 基于命令行模式

1、--collect-only 查看在给定的配置下哪些测试用例会被执行 2、-k 使用表达式来指定希望运行的测试用例。如果测试名是唯一的或者多个测试名的前缀或者后缀相同&#xff0c;可以使用表达式来快速定位&#xff0c;例如&#xff1a; 命令行-k参数.png 3、-m 标记&#xff0…...

【python爬虫】3.爬虫初体验(BeautifulSoup解析)

文章目录 前言BeautifulSoup是什么BeautifulSoup怎么用解析数据提取数据 对象的变化过程总结 前言 上一关&#xff0c;我们学习了HTML基础知识&#xff0c;知道了HTML是一种用来描述网页的语言&#xff0c;又了解了HTML的基本结构。 认识了HTML中的常见标签和常见属性&#x…...

【Three.js + Vue 构建三维地球-Part One】

Three.js Vue 构建三维地球-Part One Vue 初始化部分Vue-cli 安装初始化 Vue 项目调整目录结构 Three.js 简介Three.js 安装与开始使用 实习的第一个任务是完成一个三维地球的首屏搭建&#xff0c;看了很多的案例&#xff0c;也尝试了用 Echarts 3D地球的模型进行构建&#xf…...

Power View

界面 切换可视化效果 对于已经上传到透视表的数据&#xff0c;选择power view&#xff0c;形成表格后。...

SQL查询本年每月的数据

--一、以一行数据的形式&#xff0c;显示本年的12月的数据&#xff0c;本示例以2017年为例&#xff0c;根据统计日期字段判断&#xff0c;计算总和&#xff0c;查询语句如下&#xff1a;selectsum(case when datepart(month,统计日期)1 then 支付金额 else 0 end) as 1月, sum…...

C++之struct和union对比介绍

C之struct和union对比介绍 在C中&#xff0c;struct和union都是用来定义自定义数据类型的关键字&#xff0c;但它们的作用略有不同。 首先了解一下它们的基本概念&#xff1a; struct&#xff08;结构体&#xff09;&#xff1a;struct 是一个用户自定义的数据类型&#xff…...

微服务--SkayWalking(链路追踪:国产开源框架)

SkayWalking&#xff1a;分布式系统的应用程序性能监视工具 作用&#xff1a;分布式追踪、性能指标分析、应用、服务依赖分析&#xff1b; SkayWalking性能剖析&#xff1a; 我操&#xff0c;能够定位到某一个方法会有多慢。。。 通过Tid查看全局所有的日志信息&#xff08…...

在Windows 10上部署ChatGLM2-6B:掌握信息时代的智能对话

在Windows 10上部署ChatGLM2-6B&#xff1a;掌握信息时代的智能对话 硬件环境ChatGLM2-6B的量化模型最低GPU配置说明准备工作ChatGLM2-6B安装部署ChatGLM2-6B运行模式解决问题总结 随着当代科技的快速发展&#xff0c;我们进入了一个数字化时代&#xff0c;其中信息以前所未有的…...

LRU和LFU算法的简单实现

LRU #include <iostream> #include <unordered_map> #include <list> struct Node{int key;int value;Node(int key, int value):key(key),value(value){} }; class LruCache{ private:int maxCapacity;// 最大容量std::list<Node>CacheList;// 缓存链…...

OCR多语言识别模型构建资料收集

OCR多语言识别模型构建 构建多语言识别模型方案 合合&#xff0c;百度&#xff0c;腾讯&#xff0c;阿里这四家的不错 调研多家&#xff0c;发现有两种方案&#xff0c;但是大多数厂商都是将多语言放在一个字典里&#xff0c;构建1w~2W的字典&#xff0c;训练一个可识别多种语…...

倍增的经典题目:扩大区间、st表

1. 扩大区间 P4155 [SCOI2015] 国旗计划例题1&#xff1a;P4155 [SCOI2015] 国旗计划 计算能覆盖整个圆圈的最少区间&#xff0c;题目给定的所有区间互相不包含&#xff0c;按区间左端点排序后&#xff0c;区间的右端点也是单增的。 我们首先需要化圆为线&#xff0c;然后贪…...

LeetCode——和为K的子数组(中等)

题目 给你一个整数数组 nums 和一个整数 k &#xff0c;请你统计并返回 该数组中和为 k 的连续子数组的个数 。 示例 1&#xff1a; 输入&#xff1a;nums [1,1,1], k 2 输出&#xff1a;2示例 2&#xff1a; 输入&#xff1a;nums [1,2,3], k 3 输出&#xff1a;2 题解 …...

Truncation Sampling as Language Model Desmoothing

本文是LLM系列文章&#xff0c;针对《Truncation Sampling as Language Model Desmoothing》的翻译。 截断采样作为语言模型的去平滑性 摘要1 引言2 背景3 截断作为去平滑性4 方法5 实验与结果6 相关工作7 结论8 不足 摘要 来自神经语言模型的长文本样本可能质量较差。截断采…...

docker安装jenkins

运行jenkins docker run -d \--name jenkins \ --hostname jenkins \-u root \-p 29090:8080 \--restart always \-v D:\springcloud\学习\jekins\jenkins\jks_home:/var/jenkins_home \ jenkins/jenkins获取root登录密码 密码在jekins_home/secrets/initalAdminPassword文件…...

学习pytorch8 土堆说卷积操作

土堆说卷积操作 官网debug torch版本只有nn 没有nn.functional代码执行结果 B站小土堆视频学习笔记 官网 https://pytorch.org/docs/stable/nn.html#convolution-layers 常用torch.nn, nn是对nn.functional的封装&#xff0c;使函数更易用。 卷积核从输入图像左上角&#xf…...

pytest自动化测试两种执行环境切换的解决方案

目录 一、痛点分析 方法一&#xff1a;Hook方法pytest_addoption注册命令行参数 1、Hook方法注解 2、使用方法 方法二&#xff1a;使用插件pytest-base-url进行命令行传参 一、痛点分析 在实际企业的项目中&#xff0c;自动化测试的代码往往需要在不同的环境中进行切换&am…...

说说TIME_WAIT和CLOSE_WAIT区别

分析&回答 TCP协议规定&#xff0c;对于已经建立的连接&#xff0c;网络双方要进行四次握手才能成功断开连接&#xff0c;如果缺少了其中某个步骤&#xff0c;将会使连接处于假死状态&#xff0c;连接本身占用的资源不会被释放。网络服务器程序要同时管理大量连接&#xf…...

Docker的优势

Docker是一种开源的容器化平台&#xff0c;提供了一种将应用程序、库和其它依赖项封装在容器中的方法。以下是Docker的基本概念和优势&#xff1a; 基本概念&#xff1a; 镜像&#xff1a;一个Docker镜像是一个可运行的软件包&#xff0c;包括应用程序、库和其它依赖项。它是D…...

C++——string使用

string的常见构造接口 string() 构造空的srting类对象&#xff0c;空字符串 string(const char* str) 用字符串初始化 string(const string& str)拷贝构造&#xff0c;使用string类初始化string(size_t n, char c) 用n个字符c初始化 string s1; string s2("hello …...

Magpie插件管理终极指南:如何让窗口缩放效果始终保持最佳状态

Magpie插件管理终极指南&#xff1a;如何让窗口缩放效果始终保持最佳状态 【免费下载链接】Magpie An all-purpose window upscaler for Windows 10/11. 项目地址: https://gitcode.com/gh_mirrors/mag/Magpie 在Windows窗口缩放领域&#xff0c;Magpie凭借其强大的插件…...

Translumo实时屏幕翻译工具:5分钟解决你的多语言障碍难题

Translumo实时屏幕翻译工具&#xff1a;5分钟解决你的多语言障碍难题 【免费下载链接】Translumo Advanced real-time screen translator for games, hardcoded subtitles in videos, static text and etc. 项目地址: https://gitcode.com/gh_mirrors/tr/Translumo 你是…...

全平台数据采集工具:BarrageGrab直播弹幕实时抓取解决方案

全平台数据采集工具&#xff1a;BarrageGrab直播弹幕实时抓取解决方案 【免费下载链接】BarrageGrab 抖音快手bilibili直播弹幕wss直连&#xff0c;非系统代理方式&#xff0c;无需多开浏览器窗口 项目地址: https://gitcode.com/gh_mirrors/ba/BarrageGrab 在数字直播时…...

EVA-01开发者案例:Qwen2.5-VL-7B集成至MAGI类AI平台实现多源视觉融合

EVA-01开发者案例&#xff1a;Qwen2.5-VL-7B集成至MAGI类AI平台实现多源视觉融合 1. 引言&#xff1a;当视觉AI遇见机甲美学 想象一下&#xff0c;你正在处理一份复杂的市场分析报告&#xff0c;里面混杂着数据图表、产品照片和手写笔记。传统的AI工具要么只能看文字&#xf…...

基于Mirage Flow的Java智能助手开发:SpringBoot集成与API封装

基于Mirage Flow的Java智能助手开发&#xff1a;SpringBoot集成与API封装 最近在做一个内部知识库项目&#xff0c;需要给系统加个智能问答的“大脑”。一开始想直接用现成的SaaS服务&#xff0c;但考虑到数据安全和定制化需求&#xff0c;还是决定自己动手&#xff0c;把大模…...

【PyCon 2024闭门报告首发】:基于237个微基准测试的Python 3.14 JIT编译策略矩阵分析

第一章&#xff1a;PyCon 2024闭门报告核心结论与JIT演进全景核心共识&#xff1a;CPython JIT不再追求“全量即时编译” PyCon 2024闭门技术委员会明确指出&#xff0c;CPython 3.13 的JIT策略已从早期“通用LLVM后端”转向聚焦于“热点字节码的增量式优化”。其目标并非替代C…...

TlbbGmTool高效管理全流程实战指南:从部署到进阶的完整解决方案

TlbbGmTool高效管理全流程实战指南&#xff1a;从部署到进阶的完整解决方案 【免费下载链接】TlbbGmTool 某网络游戏的单机版本GM工具 项目地址: https://gitcode.com/gh_mirrors/tl/TlbbGmTool 在《天龙八部》游戏服务器管理中&#xff0c;管理员常常面临账号管理繁琐、…...

OV7670 UART摄像头驱动开发:基于Camera_LS_Y201的嵌入式图像采集实现

1. Camera_LS_Y201 模块底层驱动技术解析Camera_LS_Y201 是一款基于 OV7670 图像传感器的低成本串口摄像头模组&#xff0c;其核心特征在于通过 UART 接口实现图像数据的一次性整帧传输&#xff08;Bulk Transfer&#xff09;&#xff0c;而非传统逐行或分包发送方式。该方案由…...

Unity游戏多语言实时翻译解决方案:XUnity Auto Translator全解析

Unity游戏多语言实时翻译解决方案&#xff1a;XUnity Auto Translator全解析 【免费下载链接】XUnity.AutoTranslator 项目地址: https://gitcode.com/gh_mirrors/xu/XUnity.AutoTranslator 在全球化游戏市场中&#xff0c;语言障碍成为制约玩家体验的关键因素。XUnity…...

vLLM PD分离架构在昇腾910B上的性能实测:对比单卡部署,吞吐量到底提升了多少?

vLLM PD分离架构在昇腾910B上的性能突破&#xff1a;实测数据与技术解析 当大模型推理从实验室走向生产环境&#xff0c;吞吐量与延迟指标直接决定了商业可行性。传统同构部署方案中&#xff0c;Prefill&#xff08;首字生成&#xff09;与Decode&#xff08;后续生成&#xff…...