美文网首页
剑指offer 69- 扑克牌的顺子

剑指offer 69- 扑克牌的顺子

作者: 顾子豪 | 来源:发表于2021-06-08 00:08 被阅读0次

从扑克牌中随机抽 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

分析:
时间复杂度O(N)

1.先把数组元素排序
2.把0过滤掉
3.遍历剩下的数,看是否有相同的元素,有就返回false
4.判断数组末尾元素减去数组首元素是否小于等于4,是就返回true,否则返回false

class Solution {
public:
    bool isContinuous( vector<int> numbers ) {
        /*
        1.先把数组元素排序
        2.把0过滤掉
        3.遍历剩下的数,看是否有相同的元素,有就返回false
        4.判断数组末尾元素减去数组首元素是否小于等于4,是就返回true,否则返回false
        */
        if(numbers.empty()) return false;
        sort(numbers.begin(), numbers.end());
        int k = 0;
        while(!numbers[k]) k++;
        for(int i = k+1; i<numbers.size(); i++)
            if(numbers[i]==numbers[i-1]) return false;
        return numbers.back() - numbers[k] <= 4;
    }
};

相关文章

  • 剑指offer 69- 扑克牌的顺子

    从扑克牌中随机抽 5 张牌,判断是不是一个顺子,即这 5张牌是不是连续的。 2∼10为数字本身,A 为 1,J 为...

  • 每日一练(33):扑克牌中的顺子

    title: 每日一练(33):扑克牌中的顺子 categories:[剑指offer] tags:[每日一练] ...

  • [剑指offer] 扑克牌顺子

    本文首发于我的个人博客:尾尾部落 题目描述 LL今天心情特别好,因为他去买了一副扑克牌,发现里面居然有2个大王,2...

  • 剑指offer | 扑克牌的顺子

    扑克牌的顺子 从扑克牌中随机抽5张牌,判断是不是顺子,即这5张牌是不是连续的。2-10为数字本身,A为1,J为11...

  • 剑指offer【60~68】

    题目链接: 剑指offer 60-68 目录: 60. n 个骰子的点数61. 扑克牌顺子62. 圆圈中最后剩下的...

  • 剑指Offer--扑克牌顺子

    题目描述: LL今天心情特别好,因为他去买了一副扑克牌,发现里面居然有2个大王,2个小王(一副牌原本是54张_)....

  • 【剑指Offer 44】扑克牌的顺子

    题目:从扑克牌中随机抽5张牌,判断是不是一个顺子, 即这5张牌是不是连续的。2~10为数字本身, A为1。 J为1...

  • 剑指Offer笔试题(5)

    剑指Offer笔试题(4) 题目来源:牛客网 题目一 扑克牌顺子 描述: LL今天心情特别好,因为他去买了一副扑...

  • 剑指offer第二版-61.扑克牌中的顺子

    本系列导航:剑指offer(第二版)java实现导航帖 面试题61:扑克牌中的顺子 题目要求:抽取5张牌,判断是不...

  • 剑指offer编程题—扑克牌顺子

    题目描述LL今天心情特别好,因为他去买了一副扑克牌,发现里面居然有2个大王,2个小王(一副牌原本是54张_)......

网友评论

      本文标题:剑指offer 69- 扑克牌的顺子

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