题目:

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

实现代码:

bool IsContinusCards(int* pData, int size)
{if (nullptr == pData || size != 5) return false;std::sort(pData, pData + size, std::less<int>()); // 升序排序int jokerCount = 0; // 王的张数int totalGap = 0; // 总共的空隙数for (int idx = 0; idx < size - 1; ++idx) // 注意idx取值最大值为size - 2{if (0 == pData){++jokerCount;continue;}if (pData[idx] == pData[idx + 1]) return false; // 有对子就不是连续的totalGap += pData[idx + 1] - pData[idx] - 1; // 举例 3 4之前无空隙, 3 5之间有一个空隙}return totalGap <= jokerCount;
}

44. 扑克牌的顺子(C++版本)相关推荐

  1. 【剑指offer-Java版】44扑克牌的顺子

    扑克牌中的顺子:从一副扑克牌中抽取5张,判断是不是一个顺子. 2- 10 为自身,A 为1 JQK为11 12 13,大小王为任意数 先按从小到大对5张牌进行排序 首先判断大小王个数K(只能为0 1 ...

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

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

  3. 剑指offer:扑克牌的顺子问题

    LL今天心情特别好,因为他去买了一副扑克牌,发现里面居然有2个大王,2个小王(一副牌原本是54张^_^)...他随机从中抽出了5张牌,想测测自己的手气,看看能不能抽到顺子,如果抽到的话,他决定去买体育 ...

  4. 剑指offer 扑克牌的顺子

    题目:随机抽取扑克牌几张牌,判断能否组成顺子.其中大小王可以随便配. 题目可以抽象为: 判断一个整形数组是否为连续数组,其中 0可以随便配. 思路:将大小王抽象为0(当然其他数字也可以哦),先对数组排 ...

  5. 经典算法——扑克牌的顺子

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

  6. 【强烈推荐】《剑指Offer:名企面试官精讲典型编程题》一书中IT名企经典面试题

    各位程序猿: <剑指Offer> 一书源自该书作者何海涛坚持更新与编写的博客( http://zhedahht.blog.163.com/ ),该博客收集整理了大量如微软.Google等知 ...

  7. 《剑指offer》面试题的Python实现

    所属网站分类: 面试经典 > python 作者:gg 链接: http://www.pythonheidong.com/blog/article/464/ 来源:python黑洞网 www.p ...

  8. 何海涛——《剑指Offer:名企面试官精讲典型编程题》一书中IT名企经典面试题

    <剑指Offer> 一书源自该书作者何海涛坚持更新与编写的博客( http://zhedahht.blog.163.com/ ),该博客收集整理了大量如微软.Google等知名IT企业的经 ...

  9. GitHub标星3,android地图开发框架

    SQL语句 面试题解析 ======================================================================== 第一章 Java基础 Java ...

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

    剑指Offer面试题 44:扑克牌的顺子 从扑克牌中随机抽 5 张牌,判断是不是顺子,即这 5 张牌是不是连续的. 2-10 为数字本身,A 为 1,J 为 11,Q 为 12,K 为 13,而大小王 ...

最新文章

  1. std::bind介绍
  2. common lisp里的几个操作符
  3. WP8.1学习系列(第十二章)——全景控件Panorama开发指南
  4. linux进入text目录,Linux文件和目录操作命令 | Soo Smart!
  5. Html文件转换为Aspx文件后发现样式丢失或失效
  6. 前端学习(1930)vue之电商管理系统电商系统之美化一层循环的UI结构删除业务逻辑实现
  7. AD19 add pins to nets错误_《英雄联盟手游》错误代码问题大全 LOL的错误代码都是什么意思...
  8. jquery验证表单很简单的方法
  9. Linux搭建SVN 服务器(转)
  10. 3.企业安全建设指南(金融行业安全架构与技术实践) --- 安全规划
  11. DOM方式操作元素属性
  12. 软件测试项目实战学习路线
  13. 几款pdf转换成word转换器免费版软件
  14. Qt实现Toast提示消息
  15. 绕过iframe busting
  16. EulerOS简介--openEuler
  17. 女朋友要求道歉100遍:普通人和程序员的做法分别是:
  18. kotlin data class 遇到的坑
  19. Mac ssh远程登录腾讯云的解决方案
  20. 登高车的使用注意事项及具体操作步骤有哪些?

热门文章

  1. Nginx之11吸星大法 - (页面缓存)
  2. Objective--C语言预处理命令之条件编译(#ifdef,#else,#endif,#if等)
  3. python对日志处理的封装
  4. 《中国人工智能学会通讯》——4.40 什么是类人概念学习?
  5. 388. Longest Absolute File Path
  6. spring源码解析(一)---占位符解析替换
  7. Strom 可定制任务调度策略(Pluggable Scheduler)
  8. 2.OAuth 2实战 --- OAuth 之舞
  9. 6. Zend Studio
  10. 93. php 命名空间(3)