首页 > 其他分享 >剑指offer——扑克牌中的顺子

剑指offer——扑克牌中的顺子

时间:2022-11-01 11:01:32浏览次数:62  
标签:right return 扑克牌 int offer numbers 顺子 left


题目描述:
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 ) {
if(numbers.empty())
return false;
sort(numbers.begin(),numbers.end());
int numof0=0;
int numofgap=0;
for(int i=0;i<numbers.size();i++){
if(numbers[i]==0)
numof0++;
}
int left=numof0;
int right=left+1;
while(right<numbers.size()){
if(numbers[left]==numbers[right])
return false;
numofgap+=numbers[right]-numbers[left]-1;
left++;
right++;
}
if(numof0>=numofgap)
return true;
return false;
}
};


标签:right,return,扑克牌,int,offer,numbers,顺子,left
From: https://blog.51cto.com/u_15855860/5812315

相关文章

  • 剑指Offer-03-数组中重复的数字
    剑指Offer-03数组中重复的数字描述在一个长度为n的数组里的所有数字都在0到n-1的范围内。数组中某些数字是重复的,但不知道有几个数字是重复的。也不知道每个数字重复几......
  • 剑指offer一刷:数学
    剑指Offer39.数组中出现次数超过一半的数字难度:简单方法一:哈希表统计法遍历数组nums,用HashMap统计各数字的数量,即可找出众数。此方法时间和空间复杂度均为O(N)。......
  • 剑指offer - 面试题6:重建二叉树
    packageChapter2;/***面试题6:重建二叉树*输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。*假设输入的前序遍历和中序遍历的结果中都不含重复的数字。*......
  • 剑指offer - 面试题10:二进制中1的个数
    packageChapter2;/***面试题10:二进制中1的个数*输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。**内存中的那个数(补码)1的个数*/publicclass_10_b......
  • 剑指offer - 面试题9:斐波那契数列
    packageChapter2;/***面试题9:菲波那切数列*输入一个整数n,请你输出斐波那契数列的第n项。*1、1、2、3、5、8、13、21、34、*//**变形题:*一只青蛙一次可以跳上1级......
  • How quorum queues deliver locally while still offering ordering guarantees
    标题:Howquorumqueuesdeliverlocallywhilestillofferingorderingguarantees原文:https://blog.rabbitmq.com/posts/2020/06/quorum-queues-local-delivery/时间:20......
  • 剑指offer系列题笔记(二维数组的查找)
    在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数......
  • 剑指offer(第二版)
    前15题目22.10.22时间2时间3时间4剑指Offer03.数组中重复的数字ac剑指Offer04.二维数组中的查找ac剑指Offer05.替换空格acxxx......
  • 【leetcode_C++_字符串_day7】344_反转字符串&541_反转字符串II&&剑指Offer_05_替换空
    344.反转字符串编写一个函数,其作用是将输入的字符串反转过来。输入字符串以字符数组s的形式给出。不要给另外的数组分配额外的空间,你必须原地修改输入数组、使用O(1)......
  • 剑指 Offer 37. 序列化二叉树 - 力扣(LeetCode)
    剑指Offer37.序列化二叉树-力扣(LeetCode)题目大意:将一棵二叉树序列化成字符串,然后通过该字符串可以重新构造出二叉树思路:看到将二叉树转化成字符串,首先想到的......