leetcode

Solution to some Leetcode problems written in C++
git clone git://git.dimitrijedobrota.com/leetcode.git
Log | Files | Refs | README | LICENSE

0041.cpp (463B)


0 class Solution { 1 public: 2 int firstMissingPositive(vector<int> &nums) const { 3 const int n = size(nums); 4 for (int i = 0; i < n; i++) 5 if (nums[i] <= 0) nums[i] = n + 1; 6 for (int i = 0; i < n; i++) { 7 const int num = abs(nums[i]); 8 if (num <= n) nums[num - 1] = -abs(nums[num - 1]); 9 } 10 for (int i = 0; i < n; i++) 11 if (nums[i] > 0) return i + 1; 12 return n + 1; 13 } 14 };