题解 | #扑克牌顺子#

扑克牌顺子

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

public class Solution {
    public boolean IsContinuous(int [] numbers) {
        int len = numbers.length;
        if(len<5) return false;
        int[] cups = new int[14];
        //这里一共13种数字,所以开13个桶来装数字,
        //对应下标装对应数字,数字几就装在几号桶,0号里面可能有多个0;
        for(int i=0;i<len;i++){
            cups[numbers[i]]++;
        }
        //从1开始到9,每次步长是5,
        //cups[i+j] == 0用于判断每次5个连续数字中有几个空缺的数字
        for(int i=1;i<9;i++){
            int count =0;
            for(int j=0;j<5;j++){
                if(cups[i+j] == 0)
                    count++;
            }
            //如果万能0的个数大于等于空缺个数,或者没有空缺,则是顺子
            if(cups[0]>=count || count == 0)
                return true;
        }
        return false;
    }
}
全部评论

相关推荐

专心打鱼:互联网搬运工,贴子都要偷
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务