题目描述
一副扑克牌,有2个大王,2个小王,随机从中抽出了5张牌,看看能不能抽到顺子,大、小王可以看成任何数字,并且 A 看作1,J 为11,Q 为12,K 为13。要求你使用这幅牌模拟上面的过程,如果牌能组成顺子就输出 true,否则就输出 false。为了方便起见,你可以认为大小王是0。
代码
题意:vector<int> numbers 中保存的是抽到的数字,我理解为所有的牌,还在想去怎么模拟抽牌,连题意都读不懂,脑子没救了。读懂题就好实现了。找到大王、小王的数量 King,再找到最小的数字 FirstNum,在 FirstNum 到 FirstNum + 5 之间判断单张牌个数 Num,如果有牌大于 FirstNum +5 那么就肯定不能组成顺子。如果 Num + King == 5,那么即为顺子。