题目: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的运气如何。为了方便起见,你可以认为大小王是0。

解析:首先把0去掉,0代表大小王,相当于癞子。然后剩下的排序,求每队相邻数据间大于1的和,然后与0的个数比较,若所有大于1的间距和小于或等于0的个数就满足条件来了。

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
public class Solution {public boolean isContinuous(int [] numbers) {if(numbers.length==0){//边界条件return false;}List<Integer> list = new ArrayList<>();//记录不是0的数字int count=0;//统计0的个数int need=0;//累加每对数据间和大于1的间距Arrays.sort(numbers);//1  3  5  0  0for(int i : numbers){if(i==0){count++;continue;}else {if(list.contains(i)){//都有重复的牌了,还组个什么顺子,可以赶下场了return false;}list.add(i);}}//1 3  5for(int i=0;i<list.size()-1;i++){int j=i+1;if(j<list.size()){if(1!=(list.get(j)-list.get(i))){//相邻两个数据间的差不为1,就需要记录中间差多少张牌了need+=(list.get(j)-list.get(i)-1);}}}return need<=count?true:false;}
}

《剑指offer》扑克牌顺序相关推荐

  1. 剑指offer 扑克牌的顺子

    题目:随机抽取扑克牌几张牌,判断能否组成顺子.其中大小王可以随便配. 题目可以抽象为: 判断一个整形数组是否为连续数组,其中 0可以随便配. 思路:将大小王抽象为0(当然其他数字也可以哦),先对数组排 ...

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

  3. 《LeetCode力扣练习》剑指 Offer 21. 调整数组顺序使奇数位于偶数前面 Java

    <LeetCode力扣练习>剑指 Offer 21. 调整数组顺序使奇数位于偶数前面 Java 一.资源 题目: 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有奇数在数组 ...

  4. 剑指Offer #13 调整数组顺序使奇数位于偶数前面 | 图文详解

    题目来源:牛客网-剑指Offer专题 题目地址:调整数组顺序使奇数位于偶数前面 题目描述 输入一个整数数组,实现一个函数来调整该数组中数字的顺序,使得所有的奇数位于数组的前半部分,所有的偶数位于数组的 ...

  5. 【LeetCode】剑指 Offer 21. 调整数组顺序使奇数位于偶数前面

    [LeetCode]剑指 Offer 21. 调整数组顺序使奇数位于偶数前面 文章目录 [LeetCode]剑指 Offer 21. 调整数组顺序使奇数位于偶数前面 一.双指针 一.双指针 解题思路: ...

  6. 【LeetCode】剑指 Offer 58 - I. 翻转单词顺序

    [LeetCode]剑指 Offer 58 - I. 翻转单词顺序 文章目录 [LeetCode]剑指 Offer 58 - I. 翻转单词顺序 一.双指针 一.双指针 算法解析: 倒序遍历字符串 s ...

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

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

  8. 剑指 Offer 58 - I. 翻转单词顺序 (双指针)

    剑指 Offer 58 - I. 翻转单词顺序 题意: 翻转一个英文句子中单词顺序 解法1 思路: split分割 + 倒序 public static String reverseWords(Str ...

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

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

  10. 剑指offer——面试题44:扑克牌顺子

    剑指offer--面试题44:扑克牌顺子 Solution1: 20180907重做 书上的思路. class Solution { public:bool IsContinuous(vector&l ...

最新文章

  1. 图解数据库辅助软件教程
  2. jquery扩张函数
  3. Hyperloop,让发布简洁高效
  4. 霍金承认有鬼神,为什么霍金和牛顿这些人最后都信神
  5. 关于使用runtimeStyle属性问题讨论
  6. 5岁自学python编程-人工智能时代,孩子需要什么?
  7. 【雷达通信】基于matlab多普勒连续波测速【含Matlab源码 642期】
  8. CodeJock 实现MFC换肤
  9. 计算机型号或配置,新手必看电脑配置及型号含义速成!
  10. 微信小程序-文字跑马灯
  11. 我的世界1.16.1java模组怎么加,我的世界1.16(minecraft1.16)全新模组推荐
  12. 好文分享:一切都是最好的安排
  13. cocos2d-x 添加启动数字输入法的功能
  14. python如何爬有道翻译_Python网络爬虫(八) - 利用有道词典实现一个简单翻译程序...
  15. python 办公常用一:从文本文件中提取手机号码
  16. IP伪装ddos攻击
  17. 云主机和物理机有什么区别?
  18. H5游戏开发-面向对象编程
  19. oracle数据库优化之统计分析
  20. android 心跳 简书,如何高效维持网络长连接:手把手教你实现 自适应的心跳保活机制...

热门文章

  1. 03.elasticsearch pipeline aggregation查询
  2. Mining Precision Interface From Query Logs -- 学习笔记(一)
  3. 编译原理陈意云3-20 (a) 证明下面文法 S→AaAb|BbBa A→ε B→ε 是LL(1)文法,但不是SLR(1)文法。
  4. linux-压缩和解压类
  5. 数据库原理与应用(SQL Server)笔记 第一章 数据定义语言和数据操纵语言
  6. linux修改ftp锁定目录,解决linux下ftp指定访问目录无法修改的问题
  7. linux命令行下载github文件,Linux命令行下使用GitHub
  8. arm linux读cpu id,基于ARM架构的芯片获取CPU信息(cpuID)的多种方法
  9. mysql 列目录_Linux ls命令:查看目录下文件
  10. ad19pcb所有元件都在报错_PLC的线圈输出和置复位,可以混用吗?很多人都会犯这个错误!...