【LeetCode】41. First Missing Positive(Hard)解题报告
来源:互联网 发布:审批系统 数据库设计 编辑:程序博客网 时间:2024/05/22 00:13
【LeetCode】41. First Missing Positive(Hard)解题报告
题目地址:https://leetcode.com/problems/first-missing-positive/description/
题目描述:
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 algorithm should run in O(n) time and uses constant space.
O(n)复杂度即遍历一次,本题关键在于拨乱反正,while为关键,起初写的while中条件nums[i]!=i+1,报错。
Solution:
class Solution { public int firstMissingPositive(int[] nums) { for(int i=0 ; i<nums.length ; i++){ while(nums[i]>0 && nums[i]<=nums.length && nums[nums[i]-1] != nums[i]){ //num[i]这个是数字是不是存在他应该在的位置上,不是的话把他放在应该的位置上。 swap(nums , nums[i]-1 , i); } } 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 temp = nums[i]; nums[i] = nums[j]; nums[j] = temp; }}
Date:2017年11月23日
阅读全文
0 0
- 【LeetCode】41. First Missing Positive(Hard)解题报告
- [leetcode] 41. First Missing Positive 解题报告
- [Leetcode] 41. First Missing Positive 解题报告
- [LeetCode]First Missing Positive,解题报告
- 【LeetCode】First Missing Positive 解题报告
- [LeetCode] First Missing Positive 解题报告
- 【leetcode】41. First Missing Positive 【hard】
- [hard]41. First Missing Positive
- 41. First Missing Positive[hard]
- 41. First Missing Positive Hard
- [leetcode]41. First Missing Positive,C++/python实现,hard难度
- Leetcode #41. First Missing Positive 第一个不在的正数 解题报告
- leetcode解题方案--041--First Missing Positive
- Hard-题目29:41. First Missing Positive
- [LeetCode]41.First Missing Positive
- LeetCode --- 41. First Missing Positive
- LeetCode 41.First Missing Positive
- [Leetcode] 41. First Missing Positive
- 单例模式的七种写法
- 了解spring,struts源码路上的第一步
- 云中数据管理是谁的责任?不得不说的云中真相……
- 谷歌浏览器 VS 火狐量子:哪一个更快呢?
- “下里巴人”与“阳春白雪”,永洪科技展现“全企业”数据智能
- 【LeetCode】41. First Missing Positive(Hard)解题报告
- Awesome Computer Vision
- 谁说存储是自主可控的短板?
- BaseActivity封装
- 文件上传下载总结
- Hbase如何根据列值来查询整条数据
- mybatis中update执行多次
- LEETCODE: 719 Find K-th Smallest Pair Distance
- post请求添加公共参数