(leetcode学习)41. 缺失的第一个正数

embedded/2024/11/15 0:41:27/

给你一个未排序的整数数组 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 {
public:int firstMissingPositive(vector<int>& nums) {int res, n = nums.size();for(int i=0; i<n; i++){if(nums[i] <= 0) nums[i] = n + 1;}for(int i=0; i<n; i++){int cur = abs(nums[i]);if( cur <= n ){nums[cur - 1] = -abs( nums[cur - 1] );}}for(res=0; res<n; res++){if(nums[res] > 0 ){break;}}return res + 1;}
};


http://www.ppmy.cn/embedded/88990.html

相关文章

NsdManager 发现两个服务,但是解析ip 和 port 的时候,只能解析一个,什么原因?

背景: 当你使用NsdManager发现多个服务并尝试解析IP和端口时,只能解析一个服务。 可能原因: 竞争条件:如果你尝试同时解析多个服务,可能会出现竞争条件,导致只有一个解析成功。服务解析限制:NsdManager可能在某一时刻只允许解析一个服务。回调覆盖:如果你使用了同一个…

极简聊天室-websocket版

再写一个极简聊天室的websocket版&#xff0c;在本例中&#xff0c;websocket仅用于服务器向客户端传输信息&#xff0c;客户端向服务器发送信息是传统的http post方式&#xff0c;用axios来实现的&#xff0c;当然websocket本身是支持双向通信&#xff0c;主要是为了方便跟前面…

Spring boot 整合influxdb2

一.服务安装 docker search influxdb docker pull influxdb docker run -dit --name influxdb --restart always -p 8086:8086 -v /dp/docker/file/influxdb:/var/lib/influxdb influxdb 访问8086 初始化 账号组织和新建bucket 创建密钥 这些豆记录下来 二.项目配置 引入依赖…

【综合架构】总篇

设备信息 172.16.1.5 lb01 172.16.1.6 lb02 172.16.1.7 web01 172.16.1.8 web02 172.16.1.9 web03 172.16.1.10 web04 172.16.1.31 nfs01 172.16.1.41 backup 172.16.1.51 db01 172.16.1.61 m01模板机系统安装 【综合架构】模板机系统安装-CSDN博客 模板机基础优化 【综合架…

【查看Kafka存储日志时间】

文章目录 步骤关键配置参数示例总结使用kafka-topics.sh查看Topic基本信息使用kafka-configs.sh查看Topic的配置参数示例使用--bootstrap-server选项查看Topic基本信息查看Topic的配置参数 总结 要查看Kafka服务器的配置文件&#xff0c;你需要访问Kafka安装目录中的配置文件。…

一款有趣的工具,锁定鼠标键盘,绿色免安装

这是一款完全免费的程序&#xff0c;可以实现在不锁定屏幕的情况下锁定鼠标键盘&#xff0c;让鼠标键盘无法操作。比较适合防止误碰鼠标键盘&#xff0c;以及离开电脑时不希望别人操作自己的电脑。 ★★★★★锁定鼠标键盘工具&#xff1a;https://pan.quark.cn/s/e5c518a2165…

UE4 SLUA IOS打包报错解决办法

IOS打包报错&#xff1a;Fatal error "lua.h" file not found &#xff1a; SLua Unreal 在IOS远程打包编译的时候 Exteral没有copy过去&#xff0c;导致lua.h文件报错找不到&#xff0c;看了网上也没有写解决办法 错误信息截图&#xff1a; github上也有很多遇到改…

《学会 SpringMVC 系列 · 返回值处理器》

&#x1f4e2; 大家好&#xff0c;我是 【战神刘玉栋】&#xff0c;有10多年的研发经验&#xff0c;致力于前后端技术栈的知识沉淀和传播。 &#x1f497; &#x1f33b; CSDN入驻不久&#xff0c;希望大家多多支持&#xff0c;后续会继续提升文章质量&#xff0c;绝不滥竽充数…