41. First Missing Positive
2016-03-17 20:32
239 查看
First Missing Positive
寻找第一个缺失的正整数 即大致就是将给出的数组进行排序 然后找出第一个缺失的正整数For example:
Given [1,2,0] return 3, and [3,4,-1,1] return 2.
public class Solution { public int firstMissingPositive(int[] A) { if(A.length==0||A==null) return 1;//把元素放入正确的位置,例如1放在A[0],2放在A[1]... for(int i = 0;i<A.length;i++){ while(A[i]!=i+1){ if(A[i]>=A.length||A[i]<=0||A[i]==A[A[i]-1]) //若A[i]==A[A[i]-1]相等,则不用进行交换,减少一次循环,保证复杂度 break; int temp = A[i]; A[i] = A[temp-1]; A[temp-1] = temp; } } for(int i = 0;i<A.length;i++){ //找出不一样的数值 if(A[i]!=i+1) return i+1; } return A.length+1; } }
相关文章推荐
- 区域生长和区域分离与合并的图像分割方法
- Help Hanzo(素数筛)
- Android Adapter深入理解与优化
- Android开发将流读取成String返回的工具类
- 文件读取
- perl 模块下载安装
- pop,push,shift,unshift
- JS正则表达式验证身份证号码
- C# 委托实现窗口之间通信
- 采用Pull完成对xml内容的解析
- Python与anaconda3互相影响的解决方法
- HDU1166 敌兵布阵(线段树 单点更新 区间查询)
- lua编程 全局变量 环境 模块
- 二叉树已知 先序中序求后序 和 已知后序中序求先序
- 贪心算法换零钱(java)
- 软件测试学习(3)
- iOS 创建tableViewCell时 cell复用
- #30天干一件事#
- PHP运算符
- 数组中重复的数