美文网首页
【剑指 offer】扑克牌的顺序。

【剑指 offer】扑克牌的顺序。

作者: 七月初一_3679 | 来源:发表于2019-05-09 15:27 被阅读0次

1、题目描述

从扑克牌中随机抽5张牌,判断是不是一个顺子,即这5张牌是不是连续的。

2~10为数字本身,A为1,J为11,Q为12,K为13,大小王可以看做任意数字。

为了方便,大小王均以0来表示,并且假设这副牌中大小王均有两张。

样例1:

输入:[8,9,10,11,12]
输出:true

样例2

输入:[0,8,9,11,12]
输出:true

2、问题描述:

3、问题关键:

  • 排序,
  • 是否有对子,最大值最小值是否大于4。

4、C++代码:

class Solution {
public:
    bool isContinuous( vector<int> nums) {
        if (nums.empty()) return false;
        sort(nums.begin(), nums.end());
        int k = 0;
        while(!nums[k]) k ++;//去掉0.
        for (int i = k; i < nums.size() - 1; i ++) 
            if (nums[i] == nums[i + 1]) return false;// 如果有对子,直接false;
        if (nums.back() - nums[k] > 4) return false;//最大值最小值相差大于4,返回false;
        return true;
    }
};

相关文章

网友评论

      本文标题:【剑指 offer】扑克牌的顺序。

      本文链接:https://www.haomeiwen.com/subject/fmiwoqtx.html