面试题61. 扑克牌中的顺子
问题
例子
思路
方法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. 扑克牌中的顺子相关推荐
- 剑指Offer - 面试题61. 扑克牌中的顺子
1. 题目 从扑克牌中随机抽5张牌,判断是不是一个顺子,即这5张牌是不是连续的.2-10为数字本身,A为1,J为11,Q为12,K为13,而大.小王为 0 ,可以看成任意数字.A 不能视为 14. 示 ...
- leetcode —— 面试题61. 扑克牌中的顺子
从扑克牌中随机抽5张牌,判断是不是一个顺子,即这5张牌是不是连续的.2-10为数字本身,A为1,J为11,Q为12,K为13,而大.小王为 0 ,可以看成任意数字.A 不能视为 14. 示例 1: 输 ...
- 剑指offer 面试题61. 扑克牌中的顺子
从扑克牌中随机抽5张牌,判断是不是一个顺子,即这5张牌是不是连续的.2-10为数字本身,A为1,J为11,Q为12,K为13,而大.小王为 0 ,可以看成任意数字.A 不能视为 14. 示例 1: 输 ...
- 剑指offer面试题61. 扑克牌中的顺子(排序)(遍历)
题目描述 从扑克牌中随机抽5张牌,判断是不是一个顺子,即这5张牌是不是连续的.2-10为数字本身,A为1,J为11,Q为12,K为13,而大.小王为 0 ,可以看成任意数字.A 不能视为 14. 思路 ...
- 【LeetCode】剑指 Offer 61. 扑克牌中的顺子
[LeetCode]剑指 Offer 61. 扑克牌中的顺子 文章目录 [LeetCode]剑指 Offer 61. 扑克牌中的顺子 一.集合Set + 遍历 二.排序 + 遍历 总结 解题思路 根据 ...
- 【算法】剑指 Offer 61. 扑克牌中的顺子 【重刷】
文章目录 1.概述 2.方案 2.1 想减法(自研) 2.2 set 2.3 排序 1.概述 从若干副扑克牌中随机抽 5 张牌,判断是不是一个顺子,即这5张牌是不是连续的.2-10为数字本身,A为1, ...
- 剑指 Offer 61. 扑克牌中的顺子
这题的算法是,只要满足下面的条件即可视为连续 1.无重复 2.除了0以外,最大值和最小值的差不超过4
- 【剑指Offer】个人学习笔记_61_扑克牌中的顺子
目录 题目: [剑指 Offer 61. 扑克牌中的顺子](https://leetcode-cn.com/problems/bu-ke-pai-zhong-de-shun-zi-lcof/) 题目分 ...
- 如何在JS中计算扑克牌中的顺子、对子、半顺、豹子、杂六
1 <!DOCTYPE html> 2 <html> 3 <head> 4 <title>如何计算扑克牌中的顺子.对子.半顺.豹子.杂六</tit ...
最新文章
- 在 Linux 上使用 lspci 命令查看硬件情况
- android实现类似于支付宝余额快速闪动的效果
- [react] react中的setState和replaceState的区别是什么?
- c语言函数调用排序用插入法,C语言:编写查找和排序函数(二分查找,冒泡排序,选择排序法,插入排序)...
- JQuery播放器代理--IE下支持wma格式
- 药盒识别/垃圾分类—高精度AI模型训练及边缘部署分享
- ImageMagick还是GraphicsMagick?
- Fragment懒加载预加载
- 开源监控解决方案Nagios+Cacti+PNP4Nagios+NConf+NDOUtils+Nagvis(九)NagVis安装
- 使用 ale.js 制作一个小而美的表格编辑器(4)
- SWT: 发起事件 post event
- PYTHON之路(九)
- 2021-07-02 swift大礼包
- 深圳中电港 招聘FAE(FPGA Lattice)
- Android MeasureSpec理解
- Excel 工作表密码破解
- 外卖和快递行业数据_白领市场三分天下,外卖行业将何去何从?
- python 入侵服务器_一个入侵iis服务器的简单案例
- springboot下载网络图片到本地及Linux服务器(超详细)
- python pandas数据清洗:sample()函数