博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
LeetCode-41-First Missing Positive
阅读量:6453 次
发布时间:2019-06-23

本文共 756 字,大约阅读时间需要 2 分钟。

算法描述:

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

Note:

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

解题思路:利用数值等于下标加一这一特性。将不符合这一特性的值换到合适的位置,然后扫描下标即可得到结果。

int firstMissingPositive(vector
& nums) { if(nums.size()==0) return 1; for(int i=0; i < nums.size(); i++){ while(nums[i] >0 && nums[i] <= nums.size() && nums[nums[i]-1]!=nums[i]) swap(nums[nums[i]-1], nums[i]); } for(int i =0; i< nums.size(); i++) if(nums[i]!=i+1) return i+1; return nums.size()+1; }

 

转载于:https://www.cnblogs.com/nobodywang/p/10363133.html

你可能感兴趣的文章
Python算法(含源代码下载)
查看>>
利用Windows自带的Certutil查看文件MD5
查看>>
通过原生js添加div和css
查看>>
简单的导出表格和将表格下载到桌面上。
查看>>
《ArcGIS Engine+C#实例开发教程》第一讲桌面GIS应用程序框架的建立
查看>>
递归查询上一级
查看>>
JAVA - 大数类详解
查看>>
查询指定名称的文件
查看>>
批处理文件
查看>>
1.每次按一下pushbutton控件,切换图片?
查看>>
Python 嵌套列表解析
查看>>
[GXOI/GZOI2019]旧词——树链剖分+线段树
查看>>
android 补间动画的实现
查看>>
2017年广东省ACM省赛(GDCPC-2017)总结
查看>>
第十届蓝桥杯B组C++题目详解和题型总结
查看>>
树的存储结构2 - 数据结构和算法42
查看>>
函数的嵌套调用
查看>>
OC中使用 static 、 extern、 const使用
查看>>
简单理解函数回调——同步回调与异步回调
查看>>
POJ 1007
查看>>