public boolean isContinuous(int [] numbers) {
if(numbers.length==0) return false;
ArrayList<Integer> list = new ArrayList<>();
int zeroCount =0;
for(int i=0;i<numbers.length;i++){
if(numbers[i]==0){
//计算0的个数
zeroCount++;
//零不加入list
continue;
}
list.add(numbers[i]);
}
//投机取巧借用工具类排序,排好序一切都简单了
Collections.sort(list);
for(int j=0;j<list.size()-1;j++){
//计算间隔需要补充的0个数
int temp = Math.abs(list.get(j)-list.get(j+1))-1;
//0不够用了
if(temp>zeroCount) return false;
//有相同元素,不可能是顺子
if(temp<0) return false;
zeroCount-=temp;
}
//上述for循环执行顺利表示,可以组成顺子
return true;
}