码迷,mamicode.com
首页 > 其他好文 > 详细

剑指offer:扑克牌顺子

时间:2017-08-27 10:11:36      阅读:189      评论:0      收藏:0      [点我收藏+]

标签:扑克牌   else   numbers   index   false   question   wiki   i+1   c51   

http://wiki.jikexueyuan.com/project/for-offer/question-forty-four.html

 

题目:从扑克牌中随机抽 5 张牌,判断是不是一个顺子, 即这 5 张牌是不是连续的。2~10 为数字本身, A 为 1。 J 为 11、Q 为 12、 为 13。小王可以看成任意数字。

首先把数组排序,

记录非0的最小值和最大值,

如果连起来则需要满足:

1)数组中不能有重复值(没有对子)

2)max-min<=4

 

public static boolean isContinuous(int [] numbers) {
            if (numbers == null || numbers.length != 5) {
                return false;
            }
            
            // 冒泡排序
            for(int i=numbers.length-1;i>=0;i--){
                for(int j=0;j<i;j++){
                    if(numbers[j]>numbers[j+1]){
                        int temp = numbers[j];
                        numbers[j] = numbers[j+1];
                        numbers[j+1] = temp;
                    }
                }
            }
            
            //找到第一个不是0的位置
            int zeroindex = 0;
            while(zeroindex<numbers.length){
                if(numbers[zeroindex]==0){
                    zeroindex++;
                }else{
                    break;
                }
            }
                        
            if(zeroindex==numbers.length){
                return true;
            }
            //判断是否有重复数字
            for(int i=zeroindex;i<numbers.length-1;i++){
                if(numbers[i]!=numbers[i+1]){
                    i++;
                }else{
                    return false;     //有重复数字,不能连起来
                }
            }
            
            //判断最大值、最小值是否差太多
            if(numbers[numbers.length-1]-numbers[zeroindex]<=numbers.length-1){
                return true;
            }else{
                return false;
            }
        }

 

剑指offer:扑克牌顺子

标签:扑克牌   else   numbers   index   false   question   wiki   i+1   c51   

原文地址:http://www.cnblogs.com/joshsung/p/7437347.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!