扑克牌顺子
扑克牌顺子
http://www.nowcoder.com/questionTerminal/762836f4d43d43ca9deb273b3de8e1f4
记录大小王的个数,顺序遍历非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; } }