扑克牌顺子

159 阅读1分钟

扑克牌顺子

//思路:使用大小王来补充中间差的牌

//为了方便统计大小王,先进行排序。
public boolean isContinuous(int [] numbers) {
    if(numbers==null || numbers.length!=5){
        //必须是5张牌,形成顺子
        return false;
    }
    Arrays.sort(numbers);
    int n =numbers.length;

    int cnt=0; //统计大小王数量
    for(int i=0;i<n;i++){
        if(numbers[i]==0){
            cnt++;
        }else{
            break;
        }
    }
    for(int i=cnt;i<n-1;i++){
        if(numbers[i]==numbers[i+1]){ //牌相等,不可能形成顺子
            return false;
        }
        int diff = numbers[i+1]-numbers[i]-1;
        cnt -= diff;
    }
    return cnt>=0;
}

www.mianshi.onlinewww.i9code.cn

本文由博客一文多发平台 OpenWrite 发布!