剑指offer_扑克牌顺子

来源:互联网 发布:莺莺传和西厢记知乎 编辑:程序博客网 时间:2024/05/16 04:41
/*从中抽出了5张牌,看看能不能抽到顺子,大小王可以当做任何数顺子需要满足什么条件?剑指offer:顺子需要满足排序后空缺数少于等于王的数目*/import java.util.Arrays;class  IsContinuous{public static boolean isContinuous(int [] numbers) {if (numbers==null||numbers.length<=0){return false;}//排序Arrays.sort(numbers);//统计空缺数int gapCount=0;for (int i=0; i<numbers.length-1; i++){int j=i+1;if (numbers[i]!=0&&numbers[j]==numbers[i]){return false;}if (numbers[i]!=0&&numbers[j]-numbers[i]>1){gapCount+=numbers[j]-numbers[i]-1;}}//统计王的数目,用0表示王int ZeroCount=0;for (int i=0; i<numbers.length-1; i++){if (numbers[i]==0){ZeroCount++;}}if (ZeroCount>=gapCount){return true;}return false;    }public static void main(String[] args) {int [] array={1,3,0,7,0};System.out.println(isContinuous(array));}}