题解 | #扑克牌顺子#

扑克牌顺子

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

class Solution {
public:
    bool IsContinuous(vector<int>& numbers) {
        sort(numbers.begin(),numbers.end());

        //先看有几个0
        int count0 = 0;
        for (int i = 0; i < 4; i++) 
        {
            if (numbers[i] == 0) 
            {
                count0++;
            }else 
            {
                break;
            }
        }

        //从非0开始判断是否连续,不连续的地方拿0来补
        vector<int> vt_order(5,-1);
        int index = count0;
        vt_order[0] = numbers[index];
        index++;

        for (int i = 1; i < 5; i++)
        {
            if (index < 5 && numbers[index] == vt_order[i - 1] + 1) 
            {
                vt_order[i] = numbers[index];
                index++;
            }else
            {
                if (count0 > 0) 
                {
                    vt_order[i]  = vt_order[i - 1] + 1;
                    count0--;
                }else 
                {
                    return false;
                }
            }
            
        }

        return true;
    }
};

全部评论

相关推荐

复制粘贴骂ai!
聪明的加菲猫又在摸鱼:我写论文也是这样,不断教育ai
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务