lintcode(189)丢失的第一个正整数
来源:互联网 发布:java 线程池 参数 编辑:程序博客网 时间:2024/05/22 00:40
描述:
给出一个无序的正数数组,找出其中没有出现的最小正整数。
样例:
如果给出 [1,2,0]
, return 3
如果给出 [3,4,-1,1]
, return 2
思路:
最小证书的范围是(1,A.length),对A遍历,将在范围内的数字放在A[value - 1]的位置上。超出范围以及重复的数字,则放在末尾。遍历之后,low+1即为所求。
public class Solution { /** * @param A: an array of integers * @return: an integer */ public int firstMissingPositive(int[] A) { // write your code here int low = 0; int high = A.length; while(low < high){ if(A[low] == low + 1){ low++; }else if(A[low] <= low || A[low] > high || A[low] == A[A[low] - 1]){ A[low] = A[--high]; }else{ int temp = A[low]; A[low] = A[temp - 1]; A[temp - 1] = temp; } } return low + 1; }}
0 0
- LintCode 189-丢失的第一个正整数
- lintcode(189)丢失的第一个正整数
- LintCode-丢失的第一个正整数
- LintCode 丢失的第一个正整数
- LintCode:丢失的第一个正整数
- lintcode -- 丢失的第一个正整数
- Lintcode 丢失的第一个正整数
- 丢失的第一个正整数-LintCode
- LintCode:M-丢失的第一个正整数
- 丢失的第一个正整数——LintCode
- *[Lintcode]First Missing Positive 丢失的第一个正整数
- lintcode刷题——丢失的第一个正整数
- (189)丢失的第一个正整数
- 丢失的第一个正整数
- 丢失的第一个正整数
- 题目:丢失的第一个正整数
- 寻找丢失的第一个正整数
- Java实现-丢失的第一个正整数
- Linux 权限管理之目录权限限制
- Postman 发送json格式请求
- Java
- 数据类型 和 结构体的 sizeof() -- 32和64位系统
- Android 多媒体MediaPlayer使用详解
- lintcode(189)丢失的第一个正整数
- Codevs 4927 线段树练习5
- 非常好的理解遗传算法的例子
- BIRT报表
- 在java中通过WritableWorkbook实现Excel导出
- 欢迎使用CSDN-markdown编辑器
- Gson使用指南(4)
- [SMOJ1419]受欢迎的奶牛
- Mac os 文件复制