在判空去重的情况下,找出数组中的最大的数和最小的数相减,如果相减的结果小于数组的长度则是连续的

扑克牌顺子

http://www.nowcoder.com/questionTerminal/762836f4d43d43ca9deb273b3de8e1f4

public class Solution {
    public boolean isContinuous(int [] numbers) {
         if(numbers == null || numbers.length < 5){
             return false;
         }
        int[] num = new int[14]; 
        int max =1;
        int min = 13;
        for(int i = 0; i < numbers.length; i++){
            num[numbers[i]]++;
            //有重复的数
            if(numbers[i] !=0 && num[numbers[i]]>1){
                return false;
            }
            //找到最大的数
            if(numbers[i] > max){
                max = numbers[i];
            }
            //找到最小且不是万能牌的数
            if(numbers[i] < min && numbers[i] !=0){
                min = numbers[i];
            }
        }
        //如果数组中最大的数减去最小的数大于等于数组的长度则肯定是不连续的
        //例如1,2,3,4,5, 5-1 = 4;
        if(numbers.length > max -min){
            return true;
            }
        return false;
    }
}
全部评论

相关推荐

暴走萝莉莉:这是社招场吧,作为HR说个实话:这个维护关系的意思是要有政府资源,在曾经的工作中通过人脉资源拿下过大订单的意思。这个有相关管理经验,意思也是真的要有同岗位经验。应酬什么的对于业务成交来说就算不乐意也是常态,就是要求说话好听情商高,酒量好。
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务