剑指offer61 扑克牌中的顺子

这题把所有情况考虑好其实很简单

import java.util.Arrays;

public class Solution {
    public boolean isContinuous(int [] numbers) {
        if(numbers.length<5) return false;
        
        Arrays.sort(numbers);
        int start = 0;
        while(numbers[start]==0) start++;
        int jokers = start-0;
        for(int i=start+1;i<numbers.length;i++){
            if(numbers[i]==numbers[i-1])
                return false;
            else if(numbers[i]==numbers[i-1]+1)
                continue;
            else if(numbers[i]>numbers[i-1]+1){
                if(jokers>=numbers[i]-numbers[i-1]-1){
                    jokers-=numbers[i]-numbers[i-1]-1;
                }else
                    return false;
            }
        }
        return true;
    }
}

运行时间:11ms

占用内存:9408k

posted @ 2019-03-06 17:32  大胖子球花  阅读(86)  评论(0)    收藏  举报