1. 题目

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

示例 1:
输入: [1,2,3,4,5]
输出: True示例 2:
输入: [0,0,1,2,5]
输出: True限制:
数组长度为 5
数组的数取值为 [0, 13] .

来源:力扣(LeetCode)
链接:https://leetcode-cn.com/problems/bu-ke-pai-zhong-de-shun-zi-lcof
著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

2. 解题

  • 排序,计数王的张数
  • 查看是否递增,不是,王来凑
class Solution {public:bool isStraight(vector<int>& nums) {sort(nums.begin(), nums.end());//排序int zero = 0, i = 0, prev;while(i < nums.size() && nums[i] == 0)zero++, i++;//找大小王,计数if(i < nums.size())prev = nums[i++];//第一个非王的牌for( ;i < nums.size(); ++i){if(nums[i]==prev+1)prev = nums[i];else if(zero)//不相差1,且还有王{zero--;//王补上prev = prev+1;//前一个数+1i--;//继续对这张牌进行判断}else//不相差1,没王了return false;}return true;}
};

剑指Offer - 面试题61. 扑克牌中的顺子相关推荐

  1. 剑指offer 面试题61. 扑克牌中的顺子

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

  2. 剑指offer面试题61. 扑克牌中的顺子(排序)(遍历)

    题目描述 从扑克牌中随机抽5张牌,判断是不是一个顺子,即这5张牌是不是连续的.2-10为数字本身,A为1,J为11,Q为12,K为13,而大.小王为 0 ,可以看成任意数字.A 不能视为 14. 思路 ...

  3. 剑指offer——面试题61:按之字形顺序打印二叉树

    剑指offer--面试题61:按之字形顺序打印二叉树 Solution1: 基于上一题的解法,缺点:效率低下! /* struct TreeNode {int val;struct TreeNode ...

  4. 剑指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,而大小王 ...

  5. 剑指offer面试题[64]-数据流中的中位数

    题目描述 如何得到一个数据流中的中位数?如果从数据流中读出奇数个数值,那么中位数就是所有数值排序之后位于中间的数值.如果从数据流中读出偶数个数值,那么中位数就是所有数值排序之后中间两个数的平均值. 分 ...

  6. 剑指offer面试题[40]-数组中只出现一次的数字

    题目描述 一个整型数组里除了两个数字之外,其他的数字都出现了两次.请写程序找出这两个只出现一次的数字. 注意原题目要求空间复杂度为0(1). 位运算的具体思路可以参看剑指offer. class So ...

  7. 剑指offer面试题[29]-数组中出现次数超过一半的数字

    题目描述 数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字.例如输入一个长度为9的数组{1,2,3,2,2,2,5,4,2}.由于数字2在数组中出现了5次,超过数组长度的一半,因此输出2. ...

  8. leetcode —— 面试题61. 扑克牌中的顺子

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

  9. 剑指Offer - 面试题22. 链表中倒数第k个节点(快慢指针)

    1. 题目 输入一个链表,输出该链表中倒数第k个节点.为了符合大多数人的习惯,本题从1开始计数,即链表的尾节点是倒数第1个节点.例如,一个链表有6个节点,从头节点开始,它们的值依次是1.2.3.4.5 ...

最新文章

  1. 2021阿里云“API满意度”调研
  2. antd的table进行列筛选时,更新dataSource,为什么table显示暂无数据?
  3. 07-R语言jiebaR包的分词学习
  4. UVA10880 Colin and Ryan【整除】
  5. 【C/C++】各种数据类型在16位、32位和64位系统下所占字节差异
  6. 线程安全的list之synchronizedList和CopyOnWriteArrayList
  7. STM32固件库详解
  8. CMMI-V2.0真题模拟(1)
  9. Exception in thread main java.lang.OutOfMemoryError: Java heap space(Java堆空间内存溢出)解决方法...
  10. python实现炫酷字母雨
  11. php 路由修改密码,路由器设置修改密码怎么改 修改路由器密码的步骤
  12. eclipse调试项目,debugger没反应 解决办法
  13. 马赛克 php,php实现图片局部打马赛克的方法_php技巧
  14. 锐捷BFD+VSU配置
  15. mysql的sqlyog学习笔记(高级查询部分)(代码用命令行显示 )
  16. 在C语言程序中 main函数的位置,在C语言程序中,main函数的位置是________。
  17. 第二节:delay()延时实现LED灯的闪烁。
  18. Linux系统下安装 pycharm2022社区版 步骤记录
  19. 学弟学妹要的Java学习路线我终于写完了
  20. 在科技时代,中国传统文化究竟该如何传承下去

热门文章

  1. MFC CPropertySheet 多页面切换 实例
  2. DebugView的使用[通用汇总]
  3. 嵌入式面试中常见的编程题目
  4. 百度前端技术学院,学习第一天。
  5. mysql基础14(关于mysql数据库在没有主键情况下去除重复数据办法)
  6. excel拼接数据宏
  7. [UWP]做个调皮的BusyIndicator
  8. 前两年在MSDN里找到的HTC示例,一直没用过,先在这里存个备份
  9. 糟糕的C语言睡眠排序算法
  10. 我是这样分析Linux性能问题的