Re: [閒聊] 每日leetcode已刪文
思路: 不想用一些容器,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;
}
};
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.236.245.191 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Marginalman/M.1717660419.A.403.html
推
06/06 15:54,
1年前
, 1F
06/06 15:54, 1F
推
06/06 15:55,
1年前
, 2F
06/06 15:55, 2F
→
06/06 16:03,
1年前
, 3F
06/06 16:03, 3F
討論串 (同標題文章)
完整討論串 (本文為第 323 之 1548 篇):