扑克牌顺子

扑克牌顺子

https://www.nowcoder.com/practice/762836f4d43d43ca9deb273b3de8e1f4?tpId=13&&tqId=11198&rp=1&ru=/ta/coding-interviews&qru=/ta/coding-interviews/question-ranking

大小王的作用就是欢乐斗地主中的癞子身份,所以我们先统计出癞子的个数。
我们可以这么做,把问题换成将非癞子牌组成顺子需要多少张癞子,看癞子牌的数量够不够
然后将数组进行排序,接着当非癞子的那些牌能组成顺子的时候,我们去看癞子的数量是否小于0,小于0则证明癞子数不够组不成顺子,大于等于则能够组成。

public boolean IsContinuous(int [] numbers) {
        if(numbers.length < 5)
            return false;
        Arrays.sort(numbers);
        int cnt = 0;
        // 0 0 2 3 4 6 8
        for(int i = 0; i < numbers.length; i++){
            if(numbers[i] != 0)
                break;
            cnt++;
        }

        for(int i = cnt; i < numbers.length-1; i++){
            if(numbers[i+1] == numbers[i])
                return false;
            cnt -= numbers[i+1]-numbers[i]-1;
        }
        return cnt>=0;
    }
剑指offer 文章被收录于专栏

为刷过的每一道题都书写一篇题解,便于重复练习~

全部评论

相关推荐

10-13 22:56
门头沟学院 C++
rt,鼠鼠的浪潮网签明天过期,鼠鼠是山东人,好像自己也能接受。之前的面试大厂基本挂干净了,剩下小米二面后在泡,问了下面试官没有挂,但要泡。还有海信似乎也通过了,不过在深圳,鼠鼠也不是很想去。其它还有一些公司应该陆陆续续还有一些面试,现在有些纠结是直接签了还是再等再面呢?大佬们能不能给鼠鼠提一些意见,万分感谢!!!
牛客78696106...:浪潮可不是开摆,当初我还是开发的时候我组长跟我说他们组有段时间天天1,2点走,早上5点就来,全组肝出来心肌炎,浪潮挣钱省立花可不是说说,当然也看部门,但是浪潮普遍就那dio样,而且你算下时薪就知道不高,没事也是9点半走,不然算你旷工
投递小米集团等公司10个岗位
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

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