美文网首页
扑克牌顺子

扑克牌顺子

作者: 小码弟 | 来源:发表于2018-11-10 11:16 被阅读0次

一副扑克牌包含大小王,大小王可以当做任一张牌。从中抽取五张牌,判断这五张牌是不是顺子(A-> 1, J->11, Q->12, K->13, 大小王->0)。

思路:

  1. 对五张牌排序
  2. 统计牌中大小王(0)的个数
  3. 统计牌中不连续的个数, 如果发现有相同元素,一定不是顺子
  4. 如果不连续个数大于0的个数,说明不够补的,不是顺子。
bool isContinuous(vector<int> numbers)
{
  if(numbers.size() == 0)
    return false;

  int len = numbers.size();
  int zero_count = 0;
  int gap_count = 0;
  
  sort(numbers.begin(), numbers.end());
  int I = 0;
  for(; I<len; I++)
    if(numbers[I] == 0)
      ++zero_count;

    int small = zero_count;
    int big = small + 1;
    while(big < len)
      {
        if(numbers[small] == numbers[big])
          return false;
        gap_count = numbers[big] - numbers[small] -1;
        small = big;
        ++big;
      }
     if(gap_count > zero_count)
      return false;
    else
      return true;
}

相关文章

  • 扑克牌顺子

    题目描述LL今天心情特别好,因为他去买了一副扑克牌,发现里面居然有2个大王,2个小王(一副牌原本是54张_)......

  • 扑克牌顺子

    题目描述 LL今天心情特别好,因为他去买了一副扑克牌,发现里面居然有2个大王,2个小王(一副牌原本是54张_).....

  • 扑克牌顺子

    一副扑克牌包含大小王,大小王可以当做任一张牌。从中抽取五张牌,判断这五张牌是不是顺子(A-> 1, J->11, ...

  • 扑克牌顺子

    题目描述 LL今天心情特别好,因为他去买了一副扑克牌,发现里面居然有2个大王,2个小王(一副牌原本是54张_).....

  • 扑克牌顺子

    题目描述 LL今天心情特别好,因为他去买了一副扑克牌,发现里面居然有2个大王,2个小王(一副牌原本是54张_).....

  • 扑克牌顺子

    LL今天心情特别好,因为他去买了一副扑克牌,发现里面居然有2个大王,2个小王(一副牌原本是54张_)...他随机从...

  • 扑克牌顺子

    题目描述 LL今天心情特别好,因为他去买了一副扑克牌,发现里面居然有2个大王,2个小王(一副牌原本是54张_).....

  • 扑克牌顺子

    《剑指offer》刷题笔记。如有更好解法,欢迎留言。 关键字:字符串 题目描述: LL今天心情特别好,因为他去买了...

  • 扑克牌顺子

    题目描述 LL今天心情特别好,因为他去买了一副扑克牌,发现里面居然有2个大王,2个小王(一副牌原本是54张_).....

  • 扑克牌顺子

    时间限制:1秒 空间限制:32768K 题目描述 LL今天心情特别好,因为他去买了一副扑克牌,发现里面居然有2个大...

网友评论

      本文标题:扑克牌顺子

      本文链接:https://www.haomeiwen.com/subject/ueenxqtx.html