【剑指offer】扑克牌顺子

原创 2018年04月15日 14:37:17

题目描述

LL今天心情特别好,因为他去买了一副扑克牌,发现里面居然有2个大王,2个小王(一副牌原本是54张^_^)...他随机从中抽出了5张牌,想测测自己的手气,看看能不能抽到顺子,如果抽到的话,他决定去买体育彩票,嘿嘿!!“红心A,黑桃3,小王,大王,方片5”,“Oh My God!”不是顺子.....LL不高兴了,他想了想,决定大\小 王可以看成任何数字,并且A看作1,J为11,Q为12,K为13。上面的5张牌就可以变成“1,2,3,4,5”(大小王分别看作2和4),“So Lucky!”。LL决定去买体育彩票啦。 现在,要求你使用这幅牌模拟上面的过程,然后告诉我们LL的运气如何。为了方便起见,你可以认为大小王是0。


思路:先排序,统计有多少个0,记为count0,就有多少个可以插入的空隙。再统计非零的空隙有多少,如果非零有重复,直接false,在判断空隙和count0大小进行判断

# -*- coding:utf-8 -*-
class Solution:
    def IsContinuous(self, numbers):
        # write code here
        if not numbers:
            return False
        numbers.sort()
        count0 = 0
        for i in numbers:
            if i == 0:
                count0 += 1
        gapnum = 0
        for i in range(count0,len(numbers)-1):
            if numbers[i] == numbers[i+1]:
                return False
            gapnum += numbers[i+1]-numbers[i]-1
        if gapnum <= count0:
            return True
        return False
    

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/weixin_38111819/article/details/79949146

如何让500强HR一见钟情

教你成功面试拿offer全攻略
  • 2017年07月18日 12:49

《剑指offer》-扑克牌顺子

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

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

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

剑指offer:扑克牌的顺子(java)

题目:从扑克牌中随机抽5张牌,判断是不是一个顺子,即这5张牌是不是连续的。2-10为数字本身,A为1,J为11,Q为12,K为13.     思路:随机抽的5张牌可以看成5个数字组成的数组,大、小王是...
  • abc7845129630
  • abc7845129630
  • 2016-10-15 11:36:10
  • 878

剑指offer面试题目:扑克牌中的顺子

题目 随机抽取扑克牌中的5张牌,判断是不是顺子,即这5张牌是不是连续的。其中A看成1,J看成11,Q看成12,K看成13,大小王可以看成任何需要的数字。 分析 :这道题的意思很明确,我们玩扑克...
  • qq_24835809
  • qq_24835809
  • 2017-07-31 20:46:27
  • 182

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

题目:扑克牌的顺子          从扑克牌中随机抽出5张牌,判断是不是一个顺子,即这五张牌是不是连续的。2——10为数字本身,A为1,J为11,Q为12,K为13,而大小王为任意数字。 ...
  • gg543012991
  • gg543012991
  • 2016-10-09 20:57:01
  • 1277

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

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

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

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

编程算法 - 扑克牌的顺子 代码(C)

扑克牌的顺子 代码(C)本文地址: http://blog.csdn.net/caroline_wendy题目: 从扑克牌中随机抽取5张牌, 判断是不是一个顺子, 即这5张牌是不是连续的.2~10为数...
  • u012515223
  • u012515223
  • 2014-07-12 13:35:42
  • 2158

扑克牌中的顺子问题

输入:数组元素为0~13的数组; 0表示大王小王;1-13表示A-K 数组长度为5;问这五数是否可以组成顺子 输出:能组成顺子返回true,否则返回false 思路1:1 先排序,标记0的个数, ...
  • sinat_34139679
  • sinat_34139679
  • 2017-04-11 17:26:03
  • 148
收藏助手
不良信息举报
您举报文章:【剑指offer】扑克牌顺子
举报原因:
原因补充:

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