记录大小王的个数,顺序遍历非0的相邻数值,差值大于一(说明相邻数字需要放值进来)的话,大小王减去指定的:差值-1即可
import java.util.*;
public class Solution {
public boolean isContinuous(int [] numbers) {
if(numbers==null||numbers.length!=5)return false;
Arrays.sort(numbers);
int count=0;
ArrayList<Integer> arr = new ArrayList<Integer>();
for(int i=0;i<5;i++){
if(numbers[i]==0){
count++;//统计大王小王的个数
}
else arr.add(numbers[i]);
}
for(int i=0;i<arr.size()-1;i++){
int dis = arr.get(i+1)-arr.get(i)-1;
if(dis==-1)return false;//除大王小王后如果还有相等的返回fakse
if(count>=dis)count-=dis;//否则填指定差值的大小王进来
else return false;
}
return true;
}
}