系列文章目录
前言
前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站,这篇文章男女通用,看懂了就去分享给你的码吧。
描述
现在有2副扑克牌,从扑克牌中随机五张扑克牌,我们需要来判断一下是不是顺子。
有如下规则:
- A为1,J为11,Q为12,K为13,A不能视为14
- 大、小王为 0,0可以看作任意牌
- 如果给出的五张牌能组成顺子(即这五张牌是连续的)就输出true,否则就输出false。
4.数据保证每组5个数字,每组最多含有4个零,数组的数取值为 [0, 13]
输入描述:
输入五张扑克牌的值
返回值描述:
五张扑克牌能否组成顺子。
class Solution {
public:
bool IsContinuous( vector<int> numbers ) {
sort(numbers.begin(), numbers.end());
int zero_num = 0;//统计大小王数量
int i = 0;
while (numbers[i] == 0)zero_num++,i++;
int interrapt = 0;//记录五张牌中最大值max到最小值min的距离
for (; i < numbers.size()-1; ++i) {
if (numbers[i] == numbers[i + 1])return false;//出现相同的扑克牌
interrapt += numbers[i + 1] - numbers[i] - 1;//计算距离
}
if (zero_num >= interrapt) return true;
return false;
}
};