美文网首页
【剑指 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