剑指offer——(18)扑克牌顺子

剑指offer——(18)扑克牌顺子_第1张图片

import java.util.Arrays;
public class Solution {
    public boolean isContinuous(int [] numbers) {
        // 数组为空的情况
        if(numbers.length==0) return false;
        int count = 0, temp = 0, countKing = 0, first = 0;
        boolean boo = true;
        // 排序 代表大王的是0 
        Arrays.sort(numbers);
        for(int i=0;inumbers.length-2)
                    ||((numbers[numbers.length-1]-numbers[first+1]==0)&&(first+1!=numbers.length-1))) break;
                /*
                 * 没有大王的时候 
                 * 测试数据:3 2 1 4 5 
                */
                if(boo==true){
                    temp = numbers[i];
                    count++;
                    boo = false;
                    continue;
                }
                temp += 1;
                if(numbers[i]==temp) count++; 
                /*
                 * 使用大王可以代替任何牌的属性
                 * 测试数据:0 0 1 3 4
                */
                if(numbers[i]!=temp&&countKing>0){
                    count++;
                    countKing--;
                }
            }
        }
        //System.out.println(count);
        return count==numbers.length?true:false;
    }
}

 

 

你可能感兴趣的:(Java,剑指offer,牛客网,数据结构/算法)