Lintcode 丢失的第一个正整数
来源:互联网 发布:中信淘宝信用卡权益 编辑:程序博客网 时间:2024/06/01 08:47
思路: 桶排序,每一个数放在该放的位置,1放在第1个位置,2放在第2个位置,n放在第n个位置
注意!!!坐标从0开始, 5放在下标为4 个位置,i放在下标为i-1 的位置。
class Solution {public: /** * @param A: a vector of integers * @return: an integer */ int firstMissingPositive(vector<int> A) { // write your code here int len=A.size(); for(int i=0;i<len;){ if(A[i]==i+1) i++; else if(A[i]>=1&&A[i]<=len&&A[A[i]-1]!=A[i]) swap(A[i],A[A[i]-1]); else i++; } for(int j=0;j<len;j++){ if(A[j]!=j+1) return j+1; } return len+1; }};
阅读全文
1 0
- LintCode-丢失的第一个正整数
- LintCode 丢失的第一个正整数
- LintCode:丢失的第一个正整数
- LintCode 189-丢失的第一个正整数
- lintcode(189)丢失的第一个正整数
- lintcode -- 丢失的第一个正整数
- Lintcode 丢失的第一个正整数
- 丢失的第一个正整数-LintCode
- LintCode:M-丢失的第一个正整数
- 丢失的第一个正整数——LintCode
- *[Lintcode]First Missing Positive 丢失的第一个正整数
- lintcode刷题——丢失的第一个正整数
- 丢失的第一个正整数
- 丢失的第一个正整数
- 题目:丢失的第一个正整数
- (189)丢失的第一个正整数
- 寻找丢失的第一个正整数
- Java实现-丢失的第一个正整数
- IO的部分方法(2)
- iOS多线程开发之NSOperation
- find()与children(),parent()与parents()理解与运用
- 20170804阿里面试题
- 堆排序
- Lintcode 丢失的第一个正整数
- 2017第三次多校联合hdu6058
- MyBatis对整合多个表的类的操作
- C#数组详细介绍
- fork()时缓冲区注意事项
- A Bug's Life HDU
- POJ-1089-Intervals(贪心)
- linux软链接和硬链接详解及扩散式学习总结
- Hibernate学习之---深入Hibernate配置文件