leetcode hot 100 41. 缺失的第一个正数
代码
测试用例
测试用例
测试结果
41. 缺失的第一个正数
已解答
困难
相关标签
相关企业
提示
给你一个未排序的整数数组 nums ,请你找出其中没有出现的最小的正整数。
请你实现时间复杂度为 O(n) 并且只使用常数级别额外空间的解决方案。
示例 1:
输入:nums = [1,2,0] 输出:3 解释:范围 [1,2] 中的数字都在数组中。
示例 2:
输入:nums = [3,4,-1,1] 输出:2 解释:1 在数组中,但 2 没有。
示例 3:
输入:nums = [7,8,9,11,12] 输出:1 解释:最小的正数 1 没有出现。
提示:
1 <= nums.length <= 105-231 <= nums[i] <= 231 - 1
class Solution(object):def firstMissingPositive(self, nums):""":type nums: List[int]:rtype: int"""# 得到最大值,正数最小值# 不能排序,因为排序nlogn# 只能利用原本的数字存储了for i ,val in enumerate(nums):while nums[i]>0 and nums[i]<=len(nums) and nums[i]!=i+1 and nums[nums[i]-1] != nums[i]:temp = nums[i]nums[i] = nums[temp-1]nums[temp-1] = tempfor i in range(len(nums)):if nums[i]!=i+1:return i+1return len(nums)+1
首先题目的要求是空间为常熟
所以不能使用hash表
那么我们只能用原本的数组去处理了
所以我们的方法是把符合条件的正整数也就是1-》len(nums)的数放到他的值减一的下标处,这样遍历一遍就知道少了哪个了。
需要考虑多种情况
1. 当你把一个数换过去之后,换回来的数还需要继续换,所以我们的for里面用while处理
2. 当你把数换过来之后可能那个地方本来就已经有一个数占据位置了,也就是[1,1]的情况,这样会导致死循环,所以你需要把这种情况当做看不见。因为放到原处,也是一个不合理值,反正要放到的地方已经有合理值了。
相关文章:
leetcode hot 100 41. 缺失的第一个正数
代码 测试用例 测试用例 测试结果 41. 缺失的第一个正数 已解答 困难 相关标签 相关企业 提示 给你一个未排序的整数数组 nums ,请你找出其中没有出现的最小的正整数。 请你实现时间复杂度为 O(n) 并且只使用常数级别额外空间的解决方案。 示例 1…...
UniApp 使用 u-loadmore 完整步骤
文章目录 一、前期准备1. 安装 uView - UI 二、使用 u-loadmore组件1. 创建页面2. 编写页面代码模板部分(loadmore-demo.vue)样式部分脚本部分 三、要点补充1. u-loadmore 状态说明2. 数据请求优化3. 性能优化4. 兼容性问题 在 UniApp 开发中,…...
设置电脑一接通电源就主动开机
文章目录 1、进入BIOS2、设置4、功能弊端5、电脑自动开机的设置 1、进入BIOS 在电脑重启时,这时屏幕上会显示按XXX键到BIOS界面 没有进入BIOS提示的,按下面方法操作: 方法一 在开机显示logo的时候,立即按下面这几个按键…...
优艾智合机器人日本子公司成立,加速推进国际化布局
2月27日,工业移动机器人解决方案商优艾智合宣布日本子公司Youibot Robotics Japan株式会社(以下简称“Youibot Japan”)成立,并于东京举行开业典礼。此举标志着优艾智合在日本市场的现地服务能力进一步深化,是其全球化…...
自然语言处理NLP入门 -- 第七节预训练语言模型
1 什么是预训练模型? 在自然语言处理(NLP)里,训练一个好模型通常需要很多数据和计算资源。为了解决这个难题,就出现了“预训练模型”。 预训练模型 是指我们先在海量文本(比如网络上爬到的大量文章、对话…...
Git GitHub基础
git是什么? Git是一个分布式版本控制系统,用于管理源代码的变更。它允许多个开发者在同一个项目上协作,同时跟踪每个修改的历史记录。 关键词: 分布式版本控制软件 软件 安装到我们电脑上的一个工具 版本控制 例如论文&…...
多平台文章同步工具PostSync 安装介绍
PostSync 是一个开源的用于多平台文章同步的工具 环境安装 安装 Python:PostSync 是基于 Python 开发的,你需要确保系统中已经安装了 Python 环境,建议使用 Python 3.7 及以上版本。你可以从 Python 官方网站 下载并安装适合你操作系统的版…...
PXE批量网络装机与Kickstart自动化安装工具
目录 一、系统装机的原理 1.1、系统装机方式 1.2、系统安装过程 二、PXE批量网络装机 2.1、PXE实现原理 2.2、搭建PXE实际案例 2.2.1、安装必要软件 2.2.2、搭建DHCP服务器 2.2.3、搭建TFTP服务器 2.2.4、挂载镜像并拷贝引导文件到tftp服务启动引导文件夹下 2.2.5、编…...
css的复合选择器
1.1什么是复合选择器 在css中,选择器分为基础选择器和复合选择器,复合选择器是建立在基础选择器之上,对基本选择器进行组合形成。 复合选择器可以更准确、更高效的选择目标元素(标签)由两个或多个基础选择器,通过不同的方式组合…...
Wireshark Lua 插件教程
本⽂主要介绍 Lua 脚本在 Wireshark 中的应⽤, Lua 脚本可以在 Wireshark 中完成如下功能: 从⽹络包中提取数据, 或者统计⼀些数据包(Dumper) 需要解析⼀种 Wireshark 不提供原⽣⽀持的协议(Dissector) ⽰例 协议解析 VREP 协议是 NOGD 框架对于 TRIP 协议的⼀种延伸和扩展…...
mysql怎样优化where like ‘%字符串%‘这种模糊匹配的慢sql
一 问题描述 工作中经常遇到这种模糊匹配的慢sql: select * from 表名 where 字段 like %字符串%; 由于前面有%,导致无法走该字段上的索引。 二 解决办法 ① 给该字段创建一个全文索引 CREATE FULLTEXT INDEX 索引名 ON 表名 (字段名); ② 改写sq…...
Python代码片段-断点任务
使用Python处理一堆长耗时任务的时候,为了防止异常退出程序或者手动退出程序后丢失任务进度,可用使用断点的方式记录任务进度,下次重载任务后,继续运行上次未完成的任务即可。 这里用json文件作为数据持久化的方式,免…...
mapbox基础,使用geojson加载heatmap热力图层
👨⚕️ 主页: gis分享者 👨⚕️ 感谢各位大佬 点赞👍 收藏⭐ 留言📝 加关注✅! 👨⚕️ 收录于专栏:mapbox 从入门到精通 文章目录 一、🍀前言1.1 ☘️mapboxgl.Map 地图对象1.2 ☘️mapboxgl.Map style属性1.3 ☘️heatmap热力图层样式二、🍀使用geojs…...
03.检测 Zabbix agent
TOC 利用 zabbix_get 工具测试 Zabbix Agent 是否正常 # 安装 zabbix-get [rootUbuntu2204 ~]#apt install -y zabbix-get# 使用zabbix_get 工具查看验证 agent 是否正常 返回1表示正常 [rootUbuntu2204 ~]#zabbix_get -s 10.0.0.110 -p 10050 -k "agent.ping"故障…...
Vue 3 + Vite 项目配置访问地址到服务器某个文件夹的解决方案
前言 在开发 Vue 3 Vite 项目时,我们经常需要将项目部署到服务器的某个特定文件夹下。例如,将项目部署到 /my-folder/ 目录下,而不是服务器的根目录。这时,我们需要对 Vite 和 Vue Router 进行一些配置,以确保项目能…...
JavaScript将:;隔开的字符串转换为json格式。使用正则表达式匹配键值对,并构建对象。多用于解析cssText为style Object对象
// 使用正则表达式匹配键值对,并构建对象 let string2Json(s)>{const r {};s.replace(/;/g, ;).replace(/\;/g, \n).replace(/:/g, :).replace(/\n/g, \n)//合并多个换行符.split(\n).forEach(item > {const [k, v] item.split(:);(k…...
MT-Metrics
MT-Metrics 是一类用于评估生成文本质量的指标,最初用于机器翻译任务,后来扩展到生成任务(如对话生成、文本摘要等)。它的核心思想是通过比较生成文本与参考文本之间的相似性(如词汇重叠、句法结构、语义相似性&#x…...
【数据结构第十六节】实现链式结构二叉树(详细递归图解—呕心沥血版!)
必须有为成功付出代价的决心,然后想办法付出这个代价。云边有个稻草人-CSDN博客 这节课挺抽象(苦笑),没事,我会帮你!干就完了! (目录在路上) 正文开始—— 引言 用链表…...
【Python爬虫(100)】从当下到未来:Python爬虫技术的进阶之路
【Python爬虫】专栏简介:本专栏是 Python 爬虫领域的集大成之作,共 100 章节。从 Python 基础语法、爬虫入门知识讲起,深入探讨反爬虫、多线程、分布式等进阶技术。以大量实例为支撑,覆盖网页、图片、音频等各类数据爬取,还涉及数据处理与分析。无论是新手小白还是进阶开发…...
Vue-Flow绘制流程图(Vue3+ElementPlus+TS)简单案例
本文是vue3Elementplusts框架编写的简单可拖拽绘制案例。 1.效果图: 2.Index.vue主代码: <script lang"ts" setup> import { ref, markRaw } from "vue"; import {VueFlow,useVueFlow,MarkerType,type Node,type Edge } fro…...
Hypersistence Utils数组类型深度解析:PostgreSQL ARRAY到Java List的完美映射
Hypersistence Utils数组类型深度解析:PostgreSQL ARRAY到Java List的完美映射 【免费下载链接】hypersistence-utils The Hypersistence Utils library (previously known as Hibernate Types) gives you Spring and Hibernate utilities that can help you get th…...
从URDF到MoveIt!手把手教你为六轴机械臂配置运动规划(避坑指南)
从URDF到MoveIt!六轴机械臂运动规划实战全解析 当你第一次在RViz中看到自己设计的六轴机械臂模型时,那种成就感难以言表。但很快你会发现,静态展示只是万里长征的第一步——如何让这个钢铁手臂真正"活"起来?这就是MoveI…...
STM32+DHT11温湿度监测实战:从硬件接线到串口调试全流程(附避坑指南)
STM32DHT11温湿度监测实战:从硬件接线到串口调试全流程(附避坑指南) 在物联网和智能硬件快速发展的今天,环境监测已成为许多项目的基础需求。无论是智能家居中的温湿度调控,还是农业大棚中的环境监控,亦或是…...
RVC语音转换案例分享:多种音色克隆效果展示与对比
RVC语音转换案例分享:多种音色克隆效果展示与对比 1. RVC语音转换技术概述 RVC(Retrieval-based-Voice-Conversion)是一种基于检索的语音转换技术,它能够通过深度学习模型实现高质量的语音音色克隆和转换。这项技术的核心价值在…...
避坑指南:Node-RED读取西门子PLC模拟量值,为什么你的DB块数据总是0?(附S7-1200配置全流程)
Node-RED与西门子S7-1200 PLC通信避坑实战:从DB块数据异常到稳定读取的完整解决方案 当工业物联网项目遇到Node-RED与西门子PLC通信时,DB块数据读取为0的问题就像一道无形的墙,让不少开发者陷入调试泥潭。上周深夜,我的工作站屏幕…...
【开源】从设计文档到可交付技术交底书:专利.Skill
【开源】从设计文档到可交付技术交底书:专利.Skill 摘要 设计文档、代码都有了,专利点却还没梳清?交底书既要系统框图与流程图,又要代理人能直接改的 Word,多轮补材料还不能覆盖旧稿?本文介绍开源仓库 pat…...
OpenClaw+百川2-13B-4bits:智能客服模拟器搭建教程
OpenClaw百川2-13B-4bits:智能客服模拟器搭建教程 1. 为什么需要本地化客服模拟器 去年参与一个电商项目时,我遇到了一个典型痛点:每次修改客服话术都需要重新训练线上模型,既消耗API费用又影响真实客户体验。当时就萌生了搭建本…...
Cesium实战:手把手教你用四元数搞定飞行模型朝向,告别极点旋转Bug
Cesium实战:四元数驱动飞行模型朝向的终极解决方案 想象一下,你正在开发一个全球飞行模拟系统,当飞机接近北极点时,模型突然像失控的陀螺一样疯狂旋转——这不是特效,而是许多Cesium开发者遇到的经典痛点。传统欧拉角在…...
GCC编译器使用详解
GCC编译器使用详解 GCC(GNU Compiler Collection)是Linux平台上最广泛使用的编译器。理解GCC的编译过程和选项,对于开发高效、可靠的程序至关重要。 一、GCC编译流程 1.1 四个阶段 源文件(.c) → 预处理(.i) → 编译(.s) → 汇编(.o) → 链接…...
Lixie数码管驱动库深度解析:WS2812B嵌入式显示控制实践
1. Lixie 数码管驱动库技术解析:面向嵌入式工程师的深度实践指南Lixie 是一款专为驱动“Lixie 边缘导光数码管”(Edge-Lit Digit Display)设计的 Arduino 兼容库。它并非传统真空管或七段 LED,而是一种融合光学设计与现代 LED 控制…...
