[LintCode] 丢失的第一个正整数

简介: 1 class Solution { 2 public: 3 /** 4 * @param A: a vector of integers 5 * @return: an integer 6 */ 7 int fir...
 1 class Solution {
 2 public:
 3     /**    
 4      * @param A: a vector of integers
 5      * @return: an integer
 6      */
 7     int firstMissingPositive(vector<int> A) {
 8         // write your code here
 9         int n = A.size();
10         for (int i = 0; i < n; i++)
11             while (A[i] > 0 && A[i] <= n && A[A[i] - 1] != A[i])
12                 swap(A[i], A[A[i] - 1]);
13         for (int i = 0; i < n; i++)
14             if (A[i] != i + 1)
15                 return i + 1;
16         return n + 1;
17     }
18 };

 

目录
相关文章
|
8月前
|
算法 测试技术
【数位dp】【动态规划】【状态压缩】【推荐】1012. 至少有 1 位重复的数字
【数位dp】【动态规划】【状态压缩】【推荐】1012. 至少有 1 位重复的数字
|
8月前
|
C++
【一刷《剑指Offer》】面试题 14:调整数组顺序使奇数位于偶数前面
【一刷《剑指Offer》】面试题 14:调整数组顺序使奇数位于偶数前面
|
8月前
|
Java
每日一题《剑指offer》数组篇之调整数组顺序使奇数位于偶数前面
每日一题《剑指offer》数组篇之调整数组顺序使奇数位于偶数前面
69 0
每日一题《剑指offer》数组篇之调整数组顺序使奇数位于偶数前面
|
算法 索引
代码随想录算法训练营第二天 |977.有序数组平方,209.长度最小的字数组,59.螺旋矩阵
代码随想录算法训练营第二天 |977.有序数组平方,209.长度最小的字数组,59.螺旋矩阵
LeetCode-41 缺失的第一个正整数
LeetCode-41 缺失的第一个正整数
|
存储 5G 容器
一个很大的文件,存放了10G个整数的乱序数列,如何用程序找出中位数。
一个很大的文件,存放了10G个整数的乱序数列,如何用程序找出中位数。
121 0
|
索引
力扣刷题记录——434. 字符串中的单词数、448. 找到所有数组中消失的数字、455. 分发饼干
力扣刷题记录——434. 字符串中的单词数、448. 找到所有数组中消失的数字、455. 分发饼干
129 0
力扣刷题记录——434. 字符串中的单词数、448. 找到所有数组中消失的数字、455. 分发饼干
|
机器人
力扣刷题记录——645. 错误的集合、657. 机器人能否返回原点、674. 最长连续递增序列
力扣刷题记录——645. 错误的集合、657. 机器人能否返回原点、674. 最长连续递增序列
136 0
力扣刷题记录——645. 错误的集合、657. 机器人能否返回原点、674. 最长连续递增序列
|
算法 Java
数组中出现次数超过一半的数字(剑指offer39 力扣169)Java哈希表、排序、摩尔投票
数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字。 你可以假设数组是非空的,并且给定的数组总是存在多数元素。

热门文章

最新文章

下一篇
开通oss服务