【第22期】观点:IT 行业加班,到底有没有价值?

Algorithms—41.First Missing Positive

原创 2015年07月08日 09:47:48

思路:要求时间复杂度线性,空间复杂度常量。不能使用计数排序。只能遍历查看然后交换位置。找到每个值正确的位置,然后再遍历查询看到第一个不对应的就是缺省值

public class Solution {
    public int firstMissingPositive(int[] nums) {
    	for (int i = 0; i < nums.length; i++) {
			if (nums[i]!=i+1) {
				if (nums[i]<=nums.length&&nums[i]>0&&nums[nums[i]-1]!=nums[i]) {
					int k=nums[nums[i]-1];
					nums[nums[i]-1]=nums[i];
					nums[i]=k;
					i--;
				}
			}
		}
    	for (int i = 0; i < nums.length; i++) {
			if (nums[i]!=i+1) {
				return i+1;
			}
		}
    	return nums.length+1;
    
        
    }
}


耗时:312ms,中游水平



版权声明:本文为博主原创文章,未经博主允许不得转载。 举报

相关文章推荐

CVPR 2011 全部论文标题和摘要

CVPR 2011 Tian, Yuandong; Narasimhan, Srinivasa G.; , ■Rectification and 3D reconstruction of curv...

First Missing Positive

Given an unsorted integer array, find the first missing positive integer. <p style="margin-bottom: 1

程序员升职加薪指南!还缺一个“证”!

CSDN出品,立即查看!

2000个软件开发领域的高频特殊词及精选例句(一)

superword是一个Java实现的英文单词分析软件,主要研究英语单词音近形似转化规律、前缀后缀规律、词之间的相似性规律等等。 1、单词 <a href="http://www.iciba.com/had

如何写第一篇研究论文 How to Write Your First Research Paper

How to Write Your First Research Paper Elena D. Kallestinova Author information ► Copyright ...

Leetcode First Missing Positive 三个思路

First Missing Positive
  • bcyy
  • bcyy
  • 2013-12-06 07:52
  • 46
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)