面试题44 扑克牌的顺子

作者: 贾雨村甄士隐 | 来源:发表于2016-09-22 23:40 被阅读122次

题目链接:扑克牌的顺子

思路总结

1.排序
2.统计0个数 为a
3.统计不连续数的差 将其求和为b
4.如果不存在对子,且a=b,则为顺子

class Solution {
public:
    bool IsContinuous( vector<int> numbers ) {
        int length= numbers.size();
        //1.跳出函数
        if(length<1){
            return false;
        }
        //2.排序
        sort(numbers.begin(),numbers.end());
        
        //3.声明变量计算0个数
        int numberOfzero = 0;
        //4.声明变量计算不连续数间隔
        int numberOfgap = 0;
        //5.统计数组中0个数
        for(int i = 0;i<length&&numbers[i]==0;i++){
            ++numberOfzero;
        }
        //6.统计数组中间隔个数
        int small = numberOfzero;
        int big = small+1;
        while(big<length){
            //a.是否有对子
            if(numbers[small] == numbers[big]){
                return false;
            }
            numberOfgap += numbers[big]-numbers[small]-1;
            small = big;
            ++big;
        }
        return (numberOfgap>numberOfzero)?false:true;
    }
    int compare(const void *arg1,const void *arg2){
        return *(int*)arg1-*(int*)arg2;
    }
};

相关文章

  • 剑指offer目录

    目录 面试题3 在二维数组中查找 面试题15 链表中倒数第K个数 面试题16 反转链表 面试题44 扑克牌的顺子

  • 面试题44 扑克牌的顺子

    题目链接:扑克牌的顺子 思路总结 1.排序2.统计0个数 为a3.统计不连续数的差 将其求和为b4.如果不存在对子...

  • 剑指offer 面试题44:扑克牌的顺子

    题目:从扑克牌中随机抽取5张牌,判断是不是一个顺子,即这5张牌是不是连续的。大小王可以看成任意数字 解法分析:问题...

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

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

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

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

  • 面试题61:扑克牌的顺子

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

  • 扑克牌顺子

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

  • 扑克牌顺子

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

  • 扑克牌顺子

    一副扑克牌包含大小王,大小王可以当做任一张牌。从中抽取五张牌,判断这五张牌是不是顺子(A-> 1, J->11, ...

  • 扑克牌顺子

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

网友评论

本文标题:面试题44 扑克牌的顺子

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