-
排序
-
计算所有相邻数字间隔总数
-
计算0的个数
-
如果2、3相等,就是顺子
-
如果出现对子,则不是顺子
import java.util.Arrays;
public class Solution {
public boolean isContinuous(int [] numbers) {
int numOfZero = 0;
int numOfInterval = 0;
int len = numbers.length;
if(len == 0){
return false ;
}
Arrays.sort(numbers);
for(int i = 0; i < len - 1; i++){
//计算癞子数量
if(numbers[i] == 0){
numOfZero++;
continue;
}
//对子直接返回
if(numbers[i] == numbers[i+1]){
return false;
}
numOfInterval += numbers[i + 1] - numbers[i] - 1;
}
if(numOfZero >= numOfInterval){
return true;
}
return false;
}
}
numOfInterval += numbers[i + 1] - numbers[i] - 1; //这一句没有理解很透彻