扑克牌的顺子
从扑克牌中随机抽5张牌,判断是不是一个顺子,即这5张牌是不是连续的。2~10为数字本身,A为1,J为11,Q为12,K为13,而大、小王为 0 ,可以看成任意数字。A 不能视为 14。
class Solution { public: bool isStraight(vector<int>& nums) { if (nums.empty()) { return true; } sort(nums.begin(), nums.end()); int zero_count = 0; int diff = 0; for (int i = 0; i < nums.size(); ++i) { if (nums[i] == 0) { ++zero_count; continue; } if (i + 1 == nums.size()) { continue; } if (nums[i] == nums[i + 1]) { return false; } else { diff += nums[i + 1] - nums[i] - 1; } } return diff > zero_count ? false : true; } };