剑指offer:扑克牌的顺子

扑克牌顺子

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

步骤:①给数组中的元素排序;②统计数组中0的个数;③统计除0之外其他元素的间隔数(排除对子,除0之外其他元素若有相等元素则说明是对子不可能构成顺子);④(看0够不够用)如果间隔数<=0说明大小王够充当其他数可以构成顺子,否则不行。
Java代码:

import java.util.Arrays;
public class Solution {
    public boolean isContinuous(int [] numbers) {
           if(numbers==null||numbers.length<1){
               return false;
           }
        Arrays.sort(numbers);
        int numberOfZero=0;
        int numberOfGap=0;
        //统计数组中0的个数
        for(int num:numbers){
            if(num==0) numberOfZero++;
        }
        //统计数组中的间隔数目
        int small=numberOfZero;
        int big=numberOfZero+1;
        while(big<numbers.length){
            if(numbers[small]==numbers[big]){//有对子不可能为顺子
                return false;
            }
            numberOfGap+=numbers[big]-numbers[small]-1;
            small++;
            big++;
        }
        return numberOfGap<=numberOfZero?true:false;
    }
}
全部评论

相关推荐

昨天 11:37
黑河学院 运营
点赞 评论 收藏
分享
愤怒的查理被升职:每个项目经历后面加关键成果:xxx, 项目经历要和岗位JD匹配,不是有多少项目经历都要写上的,挑选出是个岗位JD的,并且内容往岗位JD方面写,教育背景直接写 大学+专业+时间,一行就过去了。你是建筑投运营别人不看你本科建筑学的怎么样
点赞 评论 收藏
分享
03-03 23:12
已编辑
北京邮电大学 Java
书海为家:我来给一点点小建议,因为毕竟还在学校不像工作几年的老鸟有丰富的项目经验,面试官在面试在校生的时候更关注咱们同学的做事逻辑和思路,所以最好在简历中描述下自己做过项目的完整过程,比如需求怎么来的,你对需求的解读,你想到的解决办法,遇到困难如何找人求助,最终项目做成了什么程度,你从中收获了哪些技能,你有什么感悟。
你的简历改到第几版了
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务