题解 | #扑克牌顺子#

扑克牌顺子

http://www.nowcoder.com/practice/762836f4d43d43ca9deb273b3de8e1f4

思路1

class Solution {
public:
    bool IsContinuous( vector<int> numbers ) {
        int length = numbers.size();
        set<int> myset;

        int min_n = numbers[0];
        int max_n = numbers[0];
        for(int i=0;i<length;i++)//更新min和max,让其为数组的第一个非0元素
        {
            if(numbers[i])
            {
                min_n = numbers[i];
                max_n = numbers[i];
                break;
            }
        }
        for(int i=0;i<length;i++)
        {
            if(numbers[i]>13 || numbers[i]<0)
                return false;
            if(numbers[i])
            {
                min_n = min(numbers[i],min_n);
                max_n = max(numbers[i],max_n);

                if(myset.count(numbers[i])>0)//判断有没有出现过重复元素
                    return false;
                myset.insert(numbers[i]);
            }
        }
        if(max_n - min_n < 5)
            return true;
        else
            return false;
    }
};

思路2

class Solution {
public:
    bool IsContinuous( vector<int> numbers ) {
        //排序
        for(int i=0;i<numbers.size();i++)
        {
            for(int j=i+1;j<numbers.size();j++)
            {
                if(numbers[i]>numbers[j])
                {
                    int tmp = numbers[i];
                    numbers[i] = numbers[j];
                    numbers[j] = tmp;
                }
            }
        }
        int max_n = numbers[4];
        int index = 0;
        for(int i=0;i<numbers.size();i++)
        {
            if(numbers[i]>13 || numbers[i]<0)
                return false;
            if(!numbers[i])
                index++;
        }
        int min_n = numbers[index];
        if(index!=4)
        {//判断重复数字
            if(numbers[index] == numbers[index+1])
                return false;
        }
        if(max_n - min_n < 5)
            return true;
        else
            return false;
    }
};

思路1和思路2的精简代码
图片说明
来源:https://blog.nowcoder.net/n/c850507eef3d42c6a524d5d0f1a51dd7

牛客刷题记录 文章被收录于专栏

记录自己的刷题记录,刷过的题的解法

全部评论

相关推荐

05-26 10:24
门头沟学院 Java
qq乃乃好喝到咩噗茶:其实是对的,线上面试容易被人当野怪刷了
找工作时遇到的神仙HR
点赞 评论 收藏
分享
后来123321:别着急,我学院本大二,投了1100份,两个面试,其中一个还是我去线下招聘会投的简历,有时候这东西也得看运气
无实习如何秋招上岸
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务