思路:
代码:
class Solution {
public:
bool isStraight(vector<int>& nums) {
sort(nums.begin(),nums.end());
int cnt = 0;
int last;
for(auto x : nums){
//统计大小王的个数
if(!x) cnt++;
else{
//出现重复的肯定不是顺子
if(x == last) return false;
last = x;
}
}
//大小王下一个位置的数为 nums[cnt] 看最大的数与最小的数差是不是在5之内 因为只有5张牌
return nums.back() - nums[cnt] < 5;
}
};
评论区