当前位置: 首页 > news >正文

黔西南州建设银行网站x浏览器

黔西南州建设银行网站,x浏览器,博客软件 WordPress等,网站链接建设的作用参考资料:力扣K神的讲解 剑指 Offer 61. 扑克牌中的顺子 简单 351 相关企业 从若干副扑克牌中随机抽 5 张牌,判断是不是一个顺子,即这5张牌是不是连续的。2~10为数字本身,A为1,J为11,Q为12&…

参考资料:力扣K神的讲解

剑指 Offer 61. 扑克牌中的顺子
简单
351
相关企业
从若干副扑克牌中随机抽 5 张牌,判断是不是一个顺子,即这5张牌是不是连续的。2~10为数字本身,A为1,J为11,Q为12,K为13,而大、小王为 0 ,可以看成任意数字。A 不能视为 14。

示例 1:

输入: [1,2,3,4,5]
输出: True

示例 2:

输入: [0,0,1,2,5]
输出: True

限制:

数组长度为 5

数组的数取值为 [0, 13] .

思路:
注意到 ‘0’(即大王、小王)的出现次数只有三种情况:

  1. ‘0’不出现
    此时,可行数组(顺子)的最大值与最小值之差 为 4
  2. ‘0‘出现一次
    此时,可行数组(顺子)的最大值与最小值之差 <= 4
  3. ’0‘出现两次
    此时,可行数组(顺子)的最大值与最小值之差 <= 4
    所以,顺子应该满足“除了0之外,最大值与最小值之差 < 5”这个数学规律。
    此外,常识告诉我们:顺子不该有重复值。
    综上,
    检查 数组是否可行(顺子)等价于
    检查 “除了0之外,最大值与最小值之差 < 5” 和 ”无重复值“ 这两个条件是否同时满足。

解法一:集合+找最大值和最小值

使用集合检查数组中是否有重复值;

  public boolean isStraight(int[] nums) {Set<Integer> repeat = new HashSet<>();int min=14;int max=0;for(int i=0;i<nums.length;i++){if(nums[i]==0){                continue;}min = Math.min(nums[i],min);max=Math.max(nums[i],max);if(repeat.contains(nums[i])){return false;}repeat.add(nums[i]);}return max-min<5;}

解法二:排序+记录0的个数

 public boolean isStraight2(int[] nums) {Arrays.sort(nums);int count0=0;for(int i=0;i<nums.length-1;i++){if(nums[i]==0) {count0++;continue;}if(nums[i]==nums[i+1]) return false;// Repeat!!}// 遍历完成后,count0 就是 数组最小值所在位置return nums[4]-nums[count0]<5;}

解法三:排序+记录0的个数+记录空缺数字的个数(自己写的つ﹏⊂)

我没有观察出来那个数学规律……
这个解法的思路很朴素。
首先排序,然后遍历数组,数一下有多少”0“(作为救命稻草),有多少”缺失值“(作为坑);
遍历结束之后,看看 这些救命稻草 够不够 填补这些坑。

 public boolean isStraight1(int[] nums) {Arrays.sort(nums);int count0=0;// count 0int cnt=0;// count all the missing valuesfor(int i=0;i<5-1;i++){if(nums[i]==0){count0++;}else{if(nums[i]==nums[i+1]-1){continue;}if(nums[i]==nums[i+1]) return false;// repeat! cnt+=nums[i+1]-nums[i]-1;// say, [2,3],nums[i+1]-nums[i]-1=3-2-1=0, means no missing value bwt 2 and 3// say, [4,6], nums[i+1]-nums[i]=6-4-1=1, means there exists one missing value bwt 4 and 6}}return count0>=cnt;// check if all available 0 could satisfy the demand of all missing values }
http://www.yayakq.cn/news/983427/

相关文章:

  • 第一免费营销型网站网络广告营销方案策划
  • php用什么做网站服务器自助做网站
  • 网站建设的工作职责是什么甘肃省城乡建设局网站首页
  • 网站建设项目价格陕西手机网站建设公司
  • 网站制作的重要流程图成都锦江规划建设局网站
  • 网站的优化与推广简单的手机网站模板免费下载
  • 垂直型网站名词解释小说网站排名免费
  • 腾讯云快速建站在线表白网页
  • 月坛网站建设公司长沙seo外包行者seo07
  • 企业网站建设情况说明河南建设通网站
  • 怎么制作购物网站公司网站建设技术方案模板
  • 仿站工具在线php网站开发什么
  • 无锡网站建设推荐智能网站建设系统
  • 想接网站自己做引航科技提供网站建设
  • 自助网站建设开发流程步骤it培训机构出来能找到工作吗
  • 如何把做的网站放到百度上贵阳网站建设哪家好
  • 同一ip网站购物网站建设网页推广
  • 做数据结构基础的网站企业网站源码搭建
  • 建材网站方案济南网站开发
  • 网站托管内容使用php的大型网站
  • 宝钢工程建设有限公司网站惠州做网站广告
  • 长沙网站建设建百度不收录你的网站产品
  • 莱芜做网站建设的公司网页微信二维码变回原来账号界面
  • 上海软件培训网站建设佛山做营销型网站建设
  • 绵阳网站设计公司如何判断网站是否被收录
  • 我在某网站网站做代理如何设计一个网页问卷
  • 自己做的网站怎么维护seo哪家好
  • 2018年怎么做网站排名wordpress新注册用户不发送邮件
  • 专业商城网站设计如何在网上推广自己的公司
  • 关键词推广网站wordpress导入数据库