Re: [閒聊] 每日LeetCode

作者: HccrtZ (Violet)   2024-02-21 10:46:54
41. First Missing Positive
昨天隨便點類似題找的
O(n) time O(1) space 想好久
看別人用swap做我那段醜醜處理
我又想那個了 啊哈
class Solution {
public:
int firstMissingPositive(vector<int>& nums) {
int tmp;
nums.push_back(0);
for(int i=0; i<nums.size(); i++){
if(nums[i] <= 0 || nums[i] == i) continue;
tmp = nums[i];
nums[i] = -1;
while(tmp < nums.size() && nums[tmp] != tmp){
if(nums[tmp] <= 0){
nums[tmp] = tmp;
break;
}
int t = nums[tmp];
nums[tmp] = tmp;
tmp = t;
}
}
for(int i=1; i<nums.size(); i++){
if(nums[i] <= 0) return i;
}
return nums.size();
}
};
好像要開始忙了 又不能當小刷生ㄌ
作者: JIWP (JIWP)   2024-02-21 11:07:00
大師

Links booklink

Contact Us: admin [ a t ] ucptt.com