扑克牌顺子

扑克牌顺子

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;
    }
}
全部评论

相关推荐

拉丁是我干掉的:把上海理工大学改成北京理工大学。成功率增加200%
点赞 评论 收藏
分享
我也曾抱有希望:说的好直白
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务