44. 扑克牌的顺子(C++版本)
题目:
从扑克牌中随机抽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++版本)相关推荐
- 【剑指offer-Java版】44扑克牌的顺子
扑克牌中的顺子:从一副扑克牌中抽取5张,判断是不是一个顺子. 2- 10 为自身,A 为1 JQK为11 12 13,大小王为任意数 先按从小到大对5张牌进行排序 首先判断大小王个数K(只能为0 1 ...
- 程序员面试题精选100题(40)-扑克牌的顺子[算法]
题目:从扑克牌中随机抽5张牌,判断是不是一个顺子,即这5张牌是不是连续的.2-10为数字本身,A为1,J为11,Q为12,K为13,而大小王可以看成任意数字. 分析:这题目很有意思,是一个典型的寓教于 ...
- 剑指offer:扑克牌的顺子问题
LL今天心情特别好,因为他去买了一副扑克牌,发现里面居然有2个大王,2个小王(一副牌原本是54张^_^)...他随机从中抽出了5张牌,想测测自己的手气,看看能不能抽到顺子,如果抽到的话,他决定去买体育 ...
- 剑指offer 扑克牌的顺子
题目:随机抽取扑克牌几张牌,判断能否组成顺子.其中大小王可以随便配. 题目可以抽象为: 判断一个整形数组是否为连续数组,其中 0可以随便配. 思路:将大小王抽象为0(当然其他数字也可以哦),先对数组排 ...
- 经典算法——扑克牌的顺子
题目描述 LL今天心情特别好,因为他去买了一副扑克牌,发现里面居然有2个大王,2个小王(一副牌原本是54张^_^)...他随机从中抽出了5张牌,想测测自己的手气,看看能不能抽到顺子,如果抽到的话,他决 ...
- 【强烈推荐】《剑指Offer:名企面试官精讲典型编程题》一书中IT名企经典面试题
各位程序猿: <剑指Offer> 一书源自该书作者何海涛坚持更新与编写的博客( http://zhedahht.blog.163.com/ ),该博客收集整理了大量如微软.Google等知 ...
- 《剑指offer》面试题的Python实现
所属网站分类: 面试经典 > python 作者:gg 链接: http://www.pythonheidong.com/blog/article/464/ 来源:python黑洞网 www.p ...
- 何海涛——《剑指Offer:名企面试官精讲典型编程题》一书中IT名企经典面试题
<剑指Offer> 一书源自该书作者何海涛坚持更新与编写的博客( http://zhedahht.blog.163.com/ ),该博客收集整理了大量如微软.Google等知名IT企业的经 ...
- GitHub标星3,android地图开发框架
SQL语句 面试题解析 ======================================================================== 第一章 Java基础 Java ...
- 剑指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,而大小王 ...
最新文章
- std::bind介绍
- common lisp里的几个操作符
- WP8.1学习系列(第十二章)——全景控件Panorama开发指南
- linux进入text目录,Linux文件和目录操作命令 | Soo Smart!
- Html文件转换为Aspx文件后发现样式丢失或失效
- 前端学习(1930)vue之电商管理系统电商系统之美化一层循环的UI结构删除业务逻辑实现
- AD19 add pins to nets错误_《英雄联盟手游》错误代码问题大全 LOL的错误代码都是什么意思...
- jquery验证表单很简单的方法
- Linux搭建SVN 服务器(转)
- 3.企业安全建设指南(金融行业安全架构与技术实践) --- 安全规划
- DOM方式操作元素属性
- 软件测试项目实战学习路线
- 几款pdf转换成word转换器免费版软件
- Qt实现Toast提示消息
- 绕过iframe busting
- EulerOS简介--openEuler
- 女朋友要求道歉100遍:普通人和程序员的做法分别是:
- kotlin data class 遇到的坑
- Mac ssh远程登录腾讯云的解决方案
- 登高车的使用注意事项及具体操作步骤有哪些?
热门文章
- Nginx之11吸星大法 - (页面缓存)
- Objective--C语言预处理命令之条件编译(#ifdef,#else,#endif,#if等)
- python对日志处理的封装
- 《中国人工智能学会通讯》——4.40 什么是类人概念学习?
- 388. Longest Absolute File Path
- spring源码解析(一)---占位符解析替换
- Strom 可定制任务调度策略(Pluggable Scheduler)
- 2.OAuth 2实战 --- OAuth 之舞
- 6. Zend Studio
- 93. php 命名空间(3)