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