个人博客:小景哥哥

45.扑克牌顺子

题目描述
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。


import java.util.Arrays;
public class Solution {//solution onepublic boolean isContinuous1(int [] numbers) {if(numbers.length <= 0)return false;Arrays.sort(numbers);int numberOfZero = 0;int numberOfGap = 0;for(int i = 0; i < numbers.length && numbers[i] == 0; i++){++numberOfZero;}int small = numberOfZero, big = small + 1;while(big < numbers.length){if(numbers[small] == numbers[big])return false;numberOfGap += numbers[big] - numbers[small] - 1;small = big;++big;}return (numberOfGap > numberOfZero)? false : true;}//solution two/**max 记录 最大值min 记录  最小值min ,max 都不记0满足条件  1 max - min <52 除0外没有重复的数字(牌)3 数组长度 为5*/public boolean isContinuous(int [] numbers) {if(numbers.length <= 0)return false;int[]d = new int[14]; d[0] = -5; int len = numbers.length; int max = -1; int min = 14; for(int i = 0; i < len; i++){d[numbers[i]]++; if(numbers[i] == 0){continue; }if(d[numbers[i]] > 1){return false; }if(numbers[i] > max){max = numbers[i]; } if(numbers[i] < min){min = numbers[i]; }}if(max - min < 5){return true; }return false;}
}

剑指offer编程试题Java实现--45.扑克牌顺子相关推荐

  1. 剑指offer编程试题Java实现--64.滑动窗口的最大值

    个人博客:小景哥哥 64.滑动窗口的最大值 题目描述 给定一个数组和滑动窗口的大小,找出所有滑动窗口里数值的最大值.例如,如果输入数组{2,3,4,2,6,2,5,1}及滑动窗口的大小3,那么一共存在 ...

  2. 剑指offer编程试题Java实现--60.把二叉树打印成多行

    个人博客:小景哥哥 60.把二叉树打印成多行 题目描述 从上到下按层打印二叉树,同一层结点从左至右输出.每一层输出一行. import java.util.ArrayList; import java ...

  3. 剑指offer编程试题Java实现--22.从上往下打印二叉树

    个人博客:小景哥哥 22.从上往下打印二叉树 题目描述 从上往下打印出二叉树的每个节点,同层节点从左至右打印. import java.util.ArrayList; import java.util ...

  4. 剑指offer编程题Java实现——面试题3二维数组中的查找

    题目描述 在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序.请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数. 下面是我实现的代码,修 ...

  5. 剑指offer编程题(JAVA实现)——第35题:数组中的逆序对

    github https://github.com/JasonZhangCauc/JZOffer 剑指offer编程题(JAVA实现)--第35题:数组中的逆序对 题目描述 在数组中的两个数字,如果前 ...

  6. [剑指offer]面试题第[68-2]题[Leetcode][第236题][JAVA][二叉搜索树的最近公共祖先][递归]

    [问题描述][中等] 235/68-1 搜索二叉树 236/68-2 二叉树 [解答思路] 递归 时间复杂度:O(N) 空间复杂度:O(N) 情况 1. , 2. , 3. , 4. 的展开写法如下. ...

  7. 剑指offer——面试题45:圆圈中最后剩下的数字(孩子们的游戏)

    剑指offer--面试题45:圆圈中最后剩下的数字(孩子们的游戏) Solution1: 当年第一遍做时,自己想的垃圾算法 class Solution { public:int LastRemain ...

  8. Java详解剑指offer面试题50--第一个只出现一次的字符

    Java详解剑指offer面试题50–第一个只出现一次的字符 找出字符串中找出第一个只出现一次的字符,比如输入"abacceff",则输出'b' 要想知道某个字符是不是只出现了一次 ...

  9. 剑指offer编程题(JAVA实现)——第38题:二叉树的深度

    github https://github.com/JasonZhangCauc/JZOffer 剑指offer编程题(JAVA实现)--第38题:二叉树的深度 题目描述 输入一棵二叉树,求该树的深度 ...

最新文章

  1. 2097352GB地图数据,AI技术酷炫渲染,《微软飞行模拟器》游戏即将上线
  2. python创建树结构、求深度_数据结构-树以及深度、广度优先遍历(递归和非递归,python实现)...
  3. ubuntu卸载fcitx后引发的问题修复
  4. 【服务器】宝塔部署eoLinker开源版
  5. C语言怎样求矩阵上三角乘积,C语言经典算法 - 上三角、下三角、对称矩阵
  6. 基于HyperLPR的车牌识别(十三)
  7. 【露】UK大冒险之——变身小小小黄鸡
  8. rocketmq 消息删除_RocketMq Topic创建和删除
  9. 计算机管理-磁盘管理中进行扩展卷操作,管理磁盘diskpart命令
  10. uniapp中canvas将矩形图片绘制成圆形图片以及保存canvas到手机
  11. C#入门学习-----图书阅读器(WPF 用户控件技术)
  12. node ncc 打包
  13. 现代计算机之父—冯·诺依曼
  14. 领域驱动设计在美团点评业务系统的实践
  15. Linux man tar cn翻译
  16. 偶然当程序员却拿下图灵奖,超算榜单之父讲述人生开挂经历
  17. Windows_COM编程
  18. 基于Python的地理数据分析之一元线性回归分析-数学原理02.md
  19. 【矩阵论】4. 矩阵运算——广义逆——加号逆的计算
  20. 曲曲直直线条图计算机教案,三年级上册信息技术教案-10曲曲直直线条画 金色的秋天 |人教版(2015).doc...

热门文章

  1. 【C语言】指针第二弹(指针数组、数组指针、数组传参)
  2. pi节点云服务器最新安装教程,Pi node节点环境安装教程(家庭电脑操作完整版)...
  3. 为你详解Linux安装GCC方法
  4. linux个人桌面推扩情况,linux桌面
  5. vs2017 调试 chromium 频繁崩溃
  6. linux DNS服务器的部署一
  7. UVM中打印格式及其控制方法
  8. 银行视频监控系统解决方案
  9. 沿着“馅饼”开放创新道路奋勇前进
  10. JAVA计算机毕业设计开发的校园情感网站部署+源码+数据库+系统+lw文档