【剑指offer】扑克牌顺子

扑克牌顺子

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

先排序,然后用大小王尽可能的填补两数间的间距。

import java.util.Arrays;

public class Solution {
    public boolean isContinuous(int[] numbers) {
        if (numbers == null || numbers.length < 5) {
            return false;
        }

        Arrays.sort(numbers);
        int king = 0;
        for (int i = 0; i < numbers.length; i++) {
            if (numbers[i] != 0) {
                king = i;
                break;
            }
        }
        for (int i = king + 1; i < numbers.length; i++) {
            if (numbers[i] - numbers[i - 1] == 0) { // 前后数相同
                return false;
            } else if (numbers[i] - numbers[i - 1] > 1) {
                if (king < numbers[i] - numbers[i - 1] - 1) { // 大小王填补不了两数间的间距
                    return false;
                }
                king -= numbers[i] - numbers[i - 1] - 1;
            }
        }
        return true;
    }
}
全部评论

相关推荐

07-24 13:43
门头沟学院 Java
longerluck...:我猜说的是“你真**是个天才”
投递美团等公司10个岗位
点赞 评论 收藏
分享
Java大菜狗:纯纯招黑奴,一天还不到两百那么多要求,还不迟到早退,以为啥啊,给一点工资做一堆活,还以不拖欠员工工资为荣,这是什么值得骄傲的事情吗,纯纯***公司
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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