题解 | 扑克牌顺子

扑克牌顺子

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

算是脑筋急转弯类型的数学题吧,两个关键点:

  • 除了0以外,数组的极差不能超过4
  • 除了0以外,数组中的其他数字不能有重复
public class Solution {
    public boolean IsContinuous(int [] n) {
        int[] hash = new int[14];
        for (int i : n) {
            hash[i]++;
        }
        for (int i=0; i <14; i++) {
            if (i != 0 && hash[i] > 1) return false;
        }

        int max = max(n);
        int min = min(n);
        if (max - min > 4) return false;
        return true;
    }

    private int max(int[] n) {
        int max = n[0];
        for (int i : n) {
            if (i > max) max = i;
        }
        return max;
    }

    private int min(int[] n) {
        int min = Integer.MAX_VALUE;
        for (int i : n) {
            if (i < min && i != 0) min = i;
        }
        return min;
    }
}
全部评论

相关推荐

不愿透露姓名的神秘牛友
昨天 17:46
暑期就挂了,秋招还有机会吗
大聪明777:研发提前批,14号刚开的,官网上面的配图上有写。提前批没过的话,秋招还可以投,不过前面的笔试/面试记录会被保留,供秋招参考
投递拼多多集团-PDD等公司10个岗位
点赞 评论 收藏
分享
头顶尖尖的程序员:我也是面了三四次才放平心态的。准备好自我介绍,不一定要背熟,可以记事本写下来读。全程控制语速,所有问题都先思考几秒,不要急着答,不要打断面试官说话。
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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