题目:

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的运气如何, 如果牌能组成顺子就输出true,否则就输出false。为了方便起见,你可以认为大小王是0。

思路:

首先需要将手中的牌排序,然后统计0的个数,如果这些牌中除0之外有别的数相等,则不可能为顺子;统计牌中的差值,如果不够用来补零的,则不可能为顺子。

代码实现:

class Solution {
public:bool IsContinuous( vector<int> numbers ) {int len = numbers.size();if(len < 1)return false;sort(numbers.begin(), numbers.end(), compare);int zero_count = 0;int dif = 0;for(int i = 0; i < len; i++){if(numbers[i] == 0)zero_count++;}if(zero_count > 4)return false;int small = zero_count;int big = small + 1;while(big < len){if(numbers[small] == numbers[big])return false;dif += numbers[big] - numbers[small] - 1;small = big;big++;}return (dif > zero_count) ? false : true;}/*--返回true,表示由小到大排列---*/static bool compare(int a, int b){return a < b;}
};

扑克牌中的顺子(C++)相关推荐

  1. 【LeetCode】剑指 Offer 61. 扑克牌中的顺子

    [LeetCode]剑指 Offer 61. 扑克牌中的顺子 文章目录 [LeetCode]剑指 Offer 61. 扑克牌中的顺子 一.集合Set + 遍历 二.排序 + 遍历 总结 解题思路 根据 ...

  2. 如何在JS中计算扑克牌中的顺子、对子、半顺、豹子、杂六

    1 <!DOCTYPE html> 2 <html> 3 <head> 4 <title>如何计算扑克牌中的顺子.对子.半顺.豹子.杂六</tit ...

  3. 【剑指Offer】个人学习笔记_61_扑克牌中的顺子

    目录 题目: [剑指 Offer 61. 扑克牌中的顺子](https://leetcode-cn.com/problems/bu-ke-pai-zhong-de-shun-zi-lcof/) 题目分 ...

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

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

  5. java判断扑克牌是否为顺子_程序算法设计题,判断扑克牌中的顺子

    相信很多人都玩过扑克牌.在扑克牌中,有许许多多的算法供我们学习.仅仅一个斗地主游戏,就可以学习很多的算法.今天和大家分享一个判断扑克牌中的顺子的问题. 题目: 从扑克牌中随机抽取五张牌,判断是不是一个 ...

  6. python 扑克牌中的顺子

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

  7. 剑指Offer - 面试题61. 扑克牌中的顺子

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

  8. 【剑指offer】面试题61:扑克牌中的顺子(java)

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

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

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

  10. 【算法】剑指 Offer 61. 扑克牌中的顺子 【重刷】

    文章目录 1.概述 2.方案 2.1 想减法(自研) 2.2 set 2.3 排序 1.概述 从若干副扑克牌中随机抽 5 张牌,判断是不是一个顺子,即这5张牌是不是连续的.2-10为数字本身,A为1, ...

最新文章

  1. Linux系统运维之Zookeeper集群配置
  2. 【数学和算法】插值方法
  3. notepad拼心形_bat心形代码
  4. Boost:等待和通知操作的模糊测试
  5. 多线程爬取新闻标题和链接
  6. 如何在firefox下获取下列框选中option的text
  7. C++函数使用规范建议
  8. 传富士康将在印度建世界最大代工厂
  9. 苹果手表出现,请在iphone 打开apple watch 应用,前生Passcode,轻点密码重试
  10. Excel如何合并两个单元格内容
  11. 人到中年,没事多休息,有空多赚钱!
  12. 高仿QQ源码 界面(3)
  13. Linux文件目录操作命令-more命令
  14. vue.esm.js?efeb:628 [Vue warn]: Error in mounted hook: “Error: target is not existed: .page-componen
  15. 游戏业务面试准备系列1-常见业务问题汇总
  16. Keil5启动后弹出乱码窗口
  17. Cypress入门-(一)如何安装Cypress
  18. C盘无缘无故满了,这个办法完美解决还不误删
  19. 面试官:你回去等通知吧!
  20. 愿你历经千帆,归来仍是少年

热门文章

  1. 自动抢票之 12306 登录篇
  2. android算法实现房贷计算器
  3. 第一章:快乐的老青蛙
  4. 企业邮箱搭建模式优劣分析
  5. “孙宇晨们”眼中的区块链,并非国家提倡的区块链
  6. 细粒度图像分析综述2019
  7. 带你了解一下蛋白质化学修饰技术!(PEG-β-1,3-GAβ葡聚糖酶/ RNaseA/SAK葡激酶)
  8. WEB端项目中接入海康监控视频播放监控画面
  9. 电路设计基础--光耦接口电路的设计和参数选取--高速光耦TLP109
  10. win10总出现繁体字怎么关闭