aboutsummaryrefslogtreecommitdiff
path: root/first_missing_pos.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'first_missing_pos.cpp')
-rw-r--r--first_missing_pos.cpp17
1 files changed, 17 insertions, 0 deletions
diff --git a/first_missing_pos.cpp b/first_missing_pos.cpp
new file mode 100644
index 0000000..5955ded
--- /dev/null
+++ b/first_missing_pos.cpp
@@ -0,0 +1,17 @@
+#include "leetcode.h"
+
+class Solution {
+public:
+ int firstMissingPositive(vector<int> &nums) {
+ int n = nums.size();
+ for (int i = 0; i < n; i++)
+ while (nums[i] > 0 && nums[i] <= n && nums[nums[i] - 1] != nums[i])
+ swap(nums[i], nums[nums[i] - 1]);
+ for (int i = 0; i < n; i++)
+ if (nums[i] != i + 1)
+ return i + 1;
+ return n + 1;
+ }
+};
+
+int main() {}