Re: [閒聊] 每日leetcode

作者: family2909 (移動邏輯匣)   2024-06-06 15:53:37
思路: 不想用一些容器,sort後每次都從最小且值不是-1的開始找,找到的紀錄-1,size不是groupSize整數倍的early return,performance意外好分享一下
class Solution {
public:
bool isNStraightHand(vector<int>& hand, int groupSize) {
sort(hand.begin(),hand.end());
if(hand.size()%groupSize)return false;
for(int i = 0;i<hand.size();i++){
if(hand[i]!=-1){
int k = 0;
for(int j = 1;j<groupSize;j++){
while(k<hand.size()-i){
if((hand[i]+j)!=hand[i+k])k++;
else{
hand[i+k] = -1;
break;
}
if(k == hand.size()-i)return false;
}
}
hand[i] = -1;
}
}
for(int i = 0;i<hand.size();i++){
if(hand[i]!= -1)return false;
}
return true;
}
};
作者: DJYOSHITAKA (Evans)   2024-06-06 15:54:00
作者: sustainer123 (caster)   2024-06-06 15:55:00
看了一下 省下額外空間 但變n**2
作者: family2909 (移動邏輯匣)   2024-06-06 16:03:00
真的耶 大濕….

Links booklink

Contact Us: admin [ a t ] ucptt.com