[剑指offer]JT45---扑克牌顺子(是不是顺子看首尾差的长度就得了!)

剑指offer第四十五题

题目如下

在这里插入图片描述

思路与代码

先找出最大和最小的数字,它们的差如果大于牌的长度就成不了,因为万能牌也补不上
如果等于长度,那刚好
如果小于长度,那有万能牌,随意补就好了!

class Solution {
    
    
public:
    bool IsContinuous( vector<int> numbers ) {
    
    
        int record[14]={
    
    0},maxn=-1,minn=14;
        for(auto a:numbers){
    
    
            if(a==0) continue;
            maxn=max(maxn,a);
            minn=min(minn,a);
            if(++record[a]>1) return false;
        }
        return maxn-minn<numbers.size();
    }
};

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_42136832/article/details/115056501