Untitled
unknown
plain_text
a year ago
781 B
5
Indexable
class Solution {
public:
int firstMissingPositive(vector<int>& nums) {
int ss= nums.size();
for(int i=1;i<=ss;i++){
if(nums[i-1]==i) continue;
while(nums[i-1]!=i){
int nextIndex= nums[i-1];
if(nextIndex==INT_MIN || nextIndex-1 >= ss || nextIndex-1 < 0)
break;
if(nums[nextIndex-1] == nextIndex)
break;
int temp = nums[nextIndex-1];
nums[nextIndex-1]= nextIndex;
nums[i-1]= temp;
}
}
for(int i=1;i<=ss;i++){
if(nums[i-1]==i) continue;
return i;
}
return ss+1;
}
};Editor is loading...
Leave a Comment