排序,然后求出大小王的个数,即0的个数。while(nums[count]==0) count++;
记录相邻元素的差异,然后用coun去修改:count-=(diff-1)
,符合要求的是diff=1.
当diff=0或者count<0(表示大小王已经用完!)
/**
* 扑克牌顺序
* @param numbers 扑克牌
* @return 牌是否能够组成顺子
*/
public boolean isContinuous(int [] numbers) {
if(numbers==null||numbers.length==0){
return false;
}
int numsOfQueue=0;
Arrays.sort(numbers);
while (numbers[numsOfQueue]==0){
numsOfQueue++;
}
int i=numsOfQueue+1;//左边第2个不为0的元素。
for(int j=i;j<5;j++){
int diff=numbers[j]-numbers[j-1];
numsOfQueue-=(diff-1);//修改
if(numsOfQueue<0||diff==0){
return false;
}
}
return true;
}