问题

例子

思路

  • 方法1

    先排序,计算0的个数,再计算缺少的个数,2,5缺少2个【5-2-1=2】,如果0的个数>=缺少的个数,则可以,否则不可以

  • 方法2

    遍历数组,如果重复直接返回false【用boolean数组,arr[n]表示该数是否已经出现】,获取最大值和最小值,max,min
    max-min+1>5说明连起来大于5张牌,直接false
    max-min+1<=5 说明 5 张牌足以构成顺子,返回 true。0填补在合适位置即可。【==5,如有癞子,填在中间,<5,如有癞子,填在两侧】

代码

class Solution {public boolean isStraight(int[] nums) {//方法1Arrays.sort(nums);//count为0的个数,count2为缺少的个数int i=0,count=0,count2=0;for(i=0; i<nums.length;i++) {if(nums[i]==0) count++;else break;}i++;//要从第二个非0的数开始,因为有nums[i-1]for(i=i; i<nums.length; i++){if(nums[i]==nums[i-1]) return false;count2+=nums[i]-nums[i-1]-1;}return count>=count2;//方法2int min=14,max=0;boolean[] arr=new boolean[14];for(int i=0; i<nums.length; i++) {if(nums[i]!=0){min=Math.min(min, nums[i]);max=Math.max(max, nums[i]);if(i>0 && arr[nums[i]]==true) return false;arr[nums[i]]=true;} }return max-min+1<=5;}
}

面试题61. 扑克牌中的顺子相关推荐

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

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

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

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

  3. 剑指offer 面试题61. 扑克牌中的顺子

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

  4. 剑指offer面试题61. 扑克牌中的顺子(排序)(遍历)

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

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

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

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

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

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

    这题的算法是,只要满足下面的条件即可视为连续 1.无重复 2.除了0以外,最大值和最小值的差不超过4

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

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

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

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

最新文章

  1. 在 Linux 上使用 lspci 命令查看硬件情况
  2. android实现类似于支付宝余额快速闪动的效果
  3. [react] react中的setState和replaceState的区别是什么?
  4. c语言函数调用排序用插入法,C语言:编写查找和排序函数(二分查找,冒泡排序,选择排序法,插入排序)...
  5. JQuery播放器代理--IE下支持wma格式
  6. 药盒识别/垃圾分类—高精度AI模型训练及边缘部署分享
  7. ImageMagick还是GraphicsMagick?
  8. Fragment懒加载预加载
  9. 开源监控解决方案Nagios+Cacti+PNP4Nagios+NConf+NDOUtils+Nagvis(九)NagVis安装
  10. 使用 ale.js 制作一个小而美的表格编辑器(4)
  11. SWT: 发起事件 post event
  12. PYTHON之路(九)
  13. 2021-07-02 swift大礼包
  14. 深圳中电港 招聘FAE(FPGA Lattice)
  15. Android MeasureSpec理解
  16. Excel 工作表密码破解
  17. 外卖和快递行业数据_白领市场三分天下,外卖行业将何去何从?
  18. python 入侵服务器_一个入侵iis服务器的简单案例
  19. springboot下载网络图片到本地及Linux服务器(超详细)
  20. python pandas数据清洗:sample()函数

热门文章

  1. 最新的html标签属性大全,html标签属性大全
  2. 奋斗群群赛2总结与心得
  3. 游承超:手机防爆膜可以降低手机的压力(15P)
  4. jmeter查看平均响应时间_Jmeter查看QPS和响应时间随着时间的变化曲线
  5. 前端做一个简单的随机气泡(随机大小,随机颜色,随机方向,随机速度,透明度改变)的静态网页
  6. 软考-软件设计师 笔记一(计算机组成与体系结构)
  7. 单位阶跃信号是周期信号吗_这些无厘头微信号,扎你心了吗?
  8. 《乱音盒子》之《闪耀的星》
  9. 自适应巡航控制系统——ACC
  10. 关于许嵩很有意境的歌词