LeetCode 41. First Missing Positive

STM32F407+LWIP实战:手把手教你移植mbedtls库实现Modbus TCP双向认证 本文详细介绍了如何在STM32F407微控制器上移植mbedtls库,结合LWIP协议栈实现Modbus TCP的双向认证功能。通过TLS 1.2加密通道,有效提升工业物联网通信的数据安全性,涵盖证书管理、内存优化及性能调优等关键步骤,为嵌入式系统开发者提供了一套完整的解决方案。 阅读详情

41. First Missing Positive

Given an unsorted integer array, find the first missing positiveinteger.

For example,
Given 
[1,2,0] return 3,
and 
[3,4,-1,1] return 2.

Your algorithm should run in O(n)time and uses constant space.

题目要求寻找第一个丢失的正数。

看题没思路-----苦思未果看题解去

然后我就说说我看的这两种解:

第一种比较正规:

         

大题思路就是首先将正和负的分成两份---直接过滤可以:
                   If(nums[i]>0)nums[n++]=nums[i];
         然后就是对前n个数遍历一边并对在[1,n]之间的数tmp=nums[i]对应的下标 nums[tmp-1] 的数变成负数。
         最后在遍历一遍查看那个(i<n)第一个非负数即时结果。

         代码

 

public class Solution{
	public int firstMissingPositive(int[] nums){
		int n=0;
		for(int i=0;i<nums.length;i++)
			if(nums[n]>0) nums[n++]=nums[i];
		int res=n,tmp;
		for(int i=0;i<n;i++){
			tmp=Math.abs(nums[i]);
			if(tmp<=n) nums[tmp]=-Math.abs(nums[tmp]);
		}
		for(int i=0;i<n;i++){
			if(nums[i]>0) {res=i+1;break;}
		}
		return res;
	}
}

 

第二种有点脑筋急转弯的感觉

         

遍历一遍所有的数tmp=nums[i],当tmp>0时 将交换下标为tmp-1和i 的数即swap(nums,tmp,i);
         最后遍历一遍所有数查到nums[i]!=i+1的即为结果.

代码:

public class Solution {
    public int firstMissingPositive(int[] nums) {
    	for(int i=0;i<nums.length;++i)
    		// if(nums[i]>0&&nums[i]<=nums.length)--->this will be wrong when the nums[i] is big
    		// for example {3,4,-1,1}
    		while(nums[i]>0&&nums[i]<=nums.length&&nums[nums[i]-1]!=nums[i])
    			swap(nums,i,nums[i]-1);
   		for(int i=0;i<nums.length;++i)
   			if(nums[i]!=i+1)
   				return i+1;
   		return nums.length+1;
    }
    public void swap(int[] nums,int i,int j){
    	int tmp=nums[i];
    	nums[i]=nums[j];nums[j]=tmp;
    }
}



TC3XX - MCAL知识点(三):MCU EB-tresos配置说明及代码浅析 AURIX 2G Tc3xx的配置相较AURIX 1G Tc2xx来讲简化了许多,但是依赖于数据手册的理解来讲整个MCU功能做了较大增强,此处先简单的介绍一下,本文前期先补充介绍一下英飞凌手册的阅读规则,因为后面的文章会基于此文的一些缩写进行截图寄存器之类的。MCU在AUTOSAR架构里面的图示如下MCU驱动程序负责配置SCU、GTM、CCU6、GPT12和STM外设。驱动程序提供由AUTOSAR指定的运行时服务。 阅读详情

相关推荐

【CIC-IDS数据集+机器学习】实现网络流量异常检测

本项目基于CIC-IDS数据集,使用多种机器学习算法实现网络流量异常检测系统。项目采用了完整的机器学习工作流程,从数据预处理到模型部署,实现了高精度的网络入侵检测。

XiaoMu_001的博客 1935

Leetcode 41. First Missing Positive

Leetcode 41. First Missing Positive 算法: Check if 1 is present in the array. If not, you’re done and 1 is the answer. If nums = [1], the answer is 2. Replace negative numbers, zeros, and numbers larger than n by 1s. 检查1是否存在,不存在返回1。如果1存在,且数组只有一个元素,则返回2。把所有0

weixin_43876597的博客 295

当传统CFD遇上AI:PINN如何帮我们省下90%的仿真计算时间?

本文探讨了物理信息神经网络(PINN)在计算流体力学(CFD)中的应用,如何通过无网格方法节省90%的仿真计算时间。PINN将物理定律编码到神经网络中,显著减少传统CFD中的网格生成和计算时间,同时保持高精度。文章还对比了PINN与传统方法的性能,并讨论了其独特优势和当前局限。

weixin_32678995的博客 320

Leetcode 41 First Missing Positive

Leetcode 41 First Missing Positive题目思路代码 题目 Given an unsorted integer array, find the smallest missing positive integer. Example 1: Input: [1,2,0] Output: 3 Example 2: Input: [3,4,-1,1] Output: 2 Example 3: Input: [7,8,9,11,12] Output: 1 Follow up: Y

weixin_43796689的博客 209

【HDLBits实战】从真值表到最优电路:SOP与POS形式在ECE241考题中的精妙应用

本文以HDLBits平台上的ECE241考题为例,详细讲解了如何从真值表出发,利用卡诺图化简技术,推导出最优的积之和(SOP)与和之积(POS)逻辑表达式。文章重点剖析了如何处理“无关项”以简化电路,并通过Verilog代码实现对比,阐述了SOP与POS形式在数字电路设计中的精妙应用与实战价值。

z2a3b4c5d的博客 216

STM32CubeIDE之SHT3X温湿度传感器移植HAL库

有了前面的OLED的学习,这个学习起来也很快。 分以下几步走 1.你要有个温度传感器,SHT3X这个型号的,因为我要讲这个 2.你要有个STM32开发板(我用的是STM32L431RCT) 3.顺便找台电脑下载一个STM32CubeIDE 4.简单的找一个SHT3X的驱动,我是去某宝嫖的,一般卖这个的都有,这个驱动分两个文件,是.c和.h的,我直接把这两个放在下边 读了我上一篇的人,看这个应该很熟悉吧,一样的套路,学习方法是一样的,你就照搬就行 下面是sht3x.c的原文档,里面有个CRC..

qq_47736089的博客 2315

LeetCode41——First Missing Positive

LeetCode41——First Missing Positive 题意: 在序列中找到第一个没有出现的正整数。 我的方法比较笨,后来提交过后通过的确时间效率非常低。 首先,排序、去重。 然后对这个有序序列进行迭代: 找到正整数开始的索引i,从这个索引开始,该序列的数后面应该是按 1 2 3 4 5 6 7...这样的顺序来排列。 所以对于从索引i开始的每一个元素nums[

上善若水 607

英飞凌 AURIX TC3XX 系列单片机的链接文件

这篇介绍英飞凌 AURIX TC3XX 系列单片机的链接文件,主要是针对使用 SOTA 功能如何修改链接文件,完整地实现 SOTA 功能

大橙子的博客 4385

LeetCode No.41 First Missing Positive 题解

LeetCode No.41 First Missing Positive 题解题目描述 Given an unsorted integer array, find the first missing positive integer. For example, Given[1,2,0] return 3, and [3,4,-1,1] return 2. You

Guo15331092的博客 502

手把手教你学Simulink——基础电机控制场景实例:基于Simulink的永磁同步发电机温度场耦合仿真

摘要:本文详细介绍了基于Simulink的永磁同步发电机(PMSG)电-热耦合仿真方法。通过Simscape Electrical搭建含热端口的PMSG模型,结合集总参数热网络(LPTN)实现损耗计算与温度反馈,分析了过载工况下温升对电阻和永磁体性能的影响。仿真结果表明:150%过载20秒会导致绕组温升132°C,电阻增加42%,磁链衰减10.5%。文章还提供了自然冷却与强迫风冷的对比数据,并建议通过多物理场耦合仿真预防实机过热问题。该方法可有效支撑高功率密度电机热设计,避免永磁体退磁风险。

MHD0815的博客 251

华为OD机试 - 机器人活动区域(Java 双机位C卷 200分)

现有一个机器人,可放置于 M × N的网格中任意位置,每个网格包含一个非负整数编号。之后M行表示网格数值,每行N个数值(数值大小用k表示),数值间用单个空格分隔,行首行尾无多余空格。说明:图中绿色区域,相邻网格差值绝对值都小于等于1,且为最大区域,对应网格点数目为6。M、N、k均为整数,且1

学Java,找哪吒 916

LeetCode刷题:41. First Missing Positive

LeetCode刷题:41. First Missing Positive 原题链接:https://leetcode.com/problems/first-missing-positive/ Given an unsorted integer array, find the smallest missing positive integer. Example 1: Input: [1,2...

梅森上校的博客 业精于勤荒于嬉,形成于思毁于随。 248

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

leetcode 41. First Missing Positive

leetcode 41. First Missing Positive  今天上午做了两个0-n  排序的问题,排序关键所在于swap public class Solution { public int firstMissingPositive(int[] nums) { int len = nums.length; int i=0;

独钓寒江雪 452

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

Leetcode (41) First Missing Positive

Leetcode (41) First Missing Positive Given an unsorted integer array, find the first missing positive integer. For example, Given [1,2,0] return 3, and [3,4,-1,1] return 2. Your algor

nevermorezjh的专栏 371

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

[LeetCode]41. First Missing Positive

41. First Missing Positive 题目要求找出数组中第一个缺失的正数。难点在与时间复杂的要求O(n),空间复杂度要求O(1)。又是一道不会做抄答案的题目。 思路是把遇到的每一个数放到元数组中排序的位置。 class Solution { public: int firstMissingPositive(vector&lt;int&gt;&amp; nums) ...

JOHZEN 279

LeetCode 41---First Missing Positive

题目链接: LeetCode 41—First Missing Positive AC代码:public class Problem41 { public static void main(String[] args) { // TODO Auto-generated method stub int[] a={1}; System.out.p

调包侠 603

Leetcode 41. First Missing Positive (cpp)

题目 解法1: 首先是时间复杂度O(1),空间复杂度O(n)的解法。关键在于答案一定会在1~n+1中产生,n为数组长度。那么先保存出现过的num,然后遍历1到n+1,找第一个没有出现的即可 class Solution { public: int firstMissingPositive(vector<int>& nums) { unordered_map<int,int> seen; for(int i=0;i<nums.si

qq_37821701的博客 332

Leetcode1-100: 41. First Missing Positive

Leetcode1-100: 41. First Missing Positive问题描述解题思路implement 1implement 2代码实现implement 1implement 2分析后记 问题描述 题目要求: 输入一个整形数组,输出里面缺失的最小的正整数。 解题思路 由于题目中要求了时间复杂度是O(n),还要求空间复杂度是常数,所以这题变得难度大了很多。但是首先分析一下如果去掉这些要求,可以用一个额外的数组来作为flag表示状态的话,这题就简单了很多,注意:假设数组有n个元素,那么最后的结

Y123iwantit的博客 268

LeetCode题目:41. First Missing Positive

LeetCode题目:41. First Missing Positive 原题链接:https://leetcode.com/problems/first-missing-positive/description/ 解题思路:(此题数据限制的不是很严格,用sort快排对数组排序,然后遍历数组,也可以过。)实际上,题目所说的O(1)并不包含输入的数组大小,因此可以改变输入的数组来实现O(n)的复

MyCodecOdecoDecodE的博客 323

【Leetcode】41. 缺失的第一个正整数(First Missing Positive)

Leetcode - 41 First Missing Positive (Hard) Input: [3,4,-1,1] Output: 2 public int firstMissingPositive(int[] nums) { int i = 0; while (i < nums.length) { if (nums[i] >= 1 &amp...

厉兵秣码 367

[Leetcode][Python]41: First Missing Positive

# -*- coding: utf8 -*-'''__author__ = 'dabay.wang@gmail.com'41: First Missing Positivehttps://oj.leetcode.com/problems/first-missing-positive/Given an unsorted integer array, find the first missi...

aaron7909的博客 270

【leetcode】41. First Missing Positive(缺失的第一个正数)

【leetcode】41. First Missing Positive(缺失的第一个正数) 41. First Missing Positive Given an unsorted integer array, find the smallest missing positive integer. Example 1: Input: [1,2,0] Output: 3 Example 2: ...

描绘自己的王国…… 291

LeetCode(41) First Missing Positive

题目如下: A peak element is an element that is greater than its neighbors. Given an input array where num[i] ≠ num[i+1], find a peak element and return its index. The array may contain multiple peaks,

BUILD 3688
上一篇: freopen---重定向文件流----解决刷oj时手动输入的烦恼
下一篇: LeetCode 42. Trapping Rain Water
朔北冥
博客等级 码龄11年 14粉丝 27原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值