剑指offer-题44:扑克牌的顺子

转载 2018年04月14日 22:52:41

题目描述

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

实验平台:牛客网


解决思路:

这里写图片描述

java:

import java.util.Arrays;

public class Solution {
    public boolean isContinuous(int [] numbers) {
        if (numbers.length < 1) {
            return false;
        } else {
            Arrays.sort(numbers);
            int numberOfZeros = 0; // 数组中0的个数
            int gapNum = 0; // 排序后数组中的差值
            for (int i = 0; i < numbers.length && numbers[i] == 0; i++) {
                numberOfZeros++;
            }
            int smallIndex = numberOfZeros; // 排序后数组中最小非0值的索引
            int bigIndex = numberOfZeros + 1;
            while (bigIndex < numbers.length) {
                if(numbers[bigIndex] == numbers[smallIndex]){
                    return false;
                }
                gapNum += numbers[bigIndex] - numbers[smallIndex] - 1;
                smallIndex = bigIndex;
                bigIndex++;
            }
            return gapNum > numberOfZeros ? false : true;
        }
    }
}

python:

《剑指offer》-扑克牌顺子

题目描述 从扑克牌中随机抽取5张,判断是不是一个顺子。2-10为数字本身,A为1,J为11,Q为12,K为13,而大小王可以为任何数字。 解法: 1.关键思想就是把大小王...
  • xiaohaijiejie
  • xiaohaijiejie
  • 2016-07-12 09:01:56
  • 497

剑指offer-面试题44:扑克牌的顺子

题目:从扑克牌中随机抽5张牌,判断是不是一个顺子,即这5张牌是不是连续的。2~10为数字本身,A为1,J为11,Q为12,K为13,而大小王可以看成任意数字。 思路:把5张牌看成5个数字的数组,大小...
  • moses1213
  • moses1213
  • 2016-04-14 16:38:51
  • 325

剑指offer-扑克牌顺子

题目描述LL今天心情特别好,因为他去买了一副扑克牌,发现里面居然有2个大王,2个小王(一副牌原本是54张^_^)…他随机从中抽出了5张牌,想测测自己的手气,看看能不能抽到顺子,如果抽到的话,他决定去买...
  • SoundSlow
  • SoundSlow
  • 2016-08-17 10:20:27
  • 375

【剑指Offer学习】【面试题44:扑克牌的顺子】

题目:从扑克牌中随机抽5张牌,判断是不是一个顺子, 即这5张牌是不是连续的。2~10为数字本身, A为1。 J为11、Q为12、 为13。小王可以看成任意数字。解题思路:我们可以把5张牌看成由5个数字...
  • DERRANTCM
  • DERRANTCM
  • 2015-07-08 08:13:10
  • 2872

程序员面试题精选100题(40)-扑克牌的顺子[算法]

题目:从扑克牌中随机抽5张牌,判断是不是一个顺子,即这5张牌是不是连续的。2-10为数字本身,A为1,J为11,Q为12,K为13,而大小王可以看成任意数字。          分析:这题目很有意思...
  • GarfieldEr007
  • GarfieldEr007
  • 2016-02-23 12:42:12
  • 1480

每天一道算法题(22)——扑克牌的顺子

题目:          从扑克牌中随机抽5张牌,判断是不是一个顺子,即这5张牌是不是连续的。2-10为数字本身,A为1,J为11,Q为12,K为13,而大小王可以看成任意数字。 思路:     ...
  • qianhen123
  • qianhen123
  • 2015-07-16 10:12:53
  • 839

剑指Offer--039-二叉树的深度

链接 牛客OJ:二叉树的深度 九度OJ:http://ac.jobdu.com/problem.php?pid=1350 GitHub代码: 039-二叉树的深度 C...
  • gatieme
  • gatieme
  • 2016-05-07 20:39:04
  • 1365

【剑指offer】二叉树的深度

题目:输入一棵二叉树,求该树的深度。从根结点到叶结点依次经过的结点(含根、叶结点)形成树的一条路径,最长路径的长度为树的深度。 方法一分析:主要思想就是层序遍历,就是有遍历上一层的每一个节点,得到下...
  • cdwxx1234
  • cdwxx1234
  • 2017-07-15 14:27:07
  • 180

牛客网刷题之扑克牌顺子

题目描述:解题思路:顺子满足的条件:除了0(王)不包含重复数,最大数减最小数小于5.可以利用hashSet中的add(e)方法来判定元素是否重复:题解:public boolean isContinu...
  • lks1139230294
  • lks1139230294
  • 2016-11-06 11:21:34
  • 151

剑指Offer面试题44:扑克牌的顺子 Java实现

题目:扑克牌的顺子          从扑克牌中随机抽出5张牌,判断是不是一个顺子,即这五张牌是不是连续的。2——10为数字本身,A为1,J为11,Q为12,K为13,而大小王为任意数字。 ...
  • gg543012991
  • gg543012991
  • 2016-10-09 20:57:01
  • 1269
收藏助手
不良信息举报
您举报文章:剑指offer-题44:扑克牌的顺子
举报原因:
原因补充:

(最多只允许输入30个字)