使用大小王作为修补不符合要求的工具
扑克牌顺子
http://www.nowcoder.com/questionTerminal/762836f4d43d43ca9deb273b3de8e1f4
排序,然后求出大小王的个数,即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; }