我们用一个大小为14的数组存每个数字出现的次数,再从1开始,看是否存在连续的5个数字,如果当中某个数字不存在,用0替换,即0的数量-1,最后五个数字判断完后看0的数量是不是为0,是的话就存在顺子
class Solution {
public boolean isContinuous(int [] numbers) {
int[] bucket=new int[14];
for(int n:numbers){
bucket[n]++;
}
int n0=bucket[0];
for(int i=1;i<=9;i++){
int temp0=n0;
for(int j=i;j<i+5;j++){
if(bucket[j]==0){
//如果没有这个数字,需要用掉一个0
temp0--;
}
}
//连续的5个数字判断完后,如果0的个数小于0,那么以i开头的就不能组成顺子
if(temp0==0){
return true;
}
}
return false;
}
}