(其他) 剑指 Offer 61. 扑克牌中的顺子 ——【Leetcode每日一题】

news/2024/4/15 13:02:34

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

难度:简单

若干副扑克牌中随机抽 5 张牌,判断是不是一个顺子,即这5张牌是不是连续的。2~10为数字本身,A为1,J11Q12K13,而大、小王为 0 ,可以看成任意数字。A 不能视为 14

示例 1:

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

示例 2:

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

限制

  • 数组长度为 5
  • 数组的数取值为 [0, 13] .

💡思路:

  1. 先对数组执行排序。
  2. 判别重复: 排序数组中的相同元素位置相邻,因此可通过遍历数组,判断 nums[i]=nums[i+1] 是否成立来判重。
  3. 获取最大 / 最小的牌: 排序后,数组末位元素 nums[4] 为最大牌;元素 nums[z] 为最小牌,其中 z 为大小王的数量。
    • 如果 nums[4] - nums[z] < 4 ,返回 true;
    • 否则返回 false

🍁代码:(C++、Java)

C++

class Solution {
public:bool isStraight(vector<int>& nums) {sort(nums.begin(), nums.end());int z = 0;for(int i = 0; i < 4; i++){if(nums[i] == 0) z++;else if(nums[i] == nums[i + 1]) return false;}return nums[4] - nums[z] < 5;}
};

Java

class Solution {public boolean isStraight(int[] nums) {Arrays.sort(nums);int z = 0;for(int i = 0; i < 4; i++){if(nums[i] == 0) z++;else if(nums[i] == nums[i + 1]) return false;}return nums[4] - nums[z] < 5;}
}

🚀 运行结果:

在这里插入图片描述

🕔 复杂度分析:

  • 时间复杂度 O ( n l o g n ) = O ( 5 l o g 5 ) = O ( 1 ) O(nlogn)=O(5log5)=O(1) O(nlogn)=O(5log5)=O(1): 其中 nnums 长度,本题中 n≡5 ;数组排序使用 O ( n l o g n ) O(nlogn) O(nlogn) 时间。
  • 空间复杂度 O ( 1 ) O(1) O(1)

题目来源:力扣。

放弃一件事很容易,每天能坚持一件事一定很酷,一起每日一题吧!
关注我LeetCode主页 / CSDN—力扣专栏,每日更新!

注: 如有不足,欢迎指正!


http://www.ppmy.cn/news/1106334.html

相关文章

草莓CDMS独创的内容分销系统 微信小说平台系统v1.0

草莓CDMS是一个采用thinkphp5.1Easywechat4.0swooleredis开发的原创内容分销系统&#xff0c;其特点包括简单操作、灵活后台设置、两种对接模式以及五种用户角色等。系统集成了微信开放平台扫码授权和微信公众平台手动对接的功能&#xff0c;并支持多种经营模式&#xff0c;如平…

在 Arweave 中轻松管理文件:借助 4EVERLAND 完成 Web3 前端Path Manifests的终极指南

为什么使用Path Manifests&#xff1f; 当在 IPFS 上发布 NFT 时&#xff0c;图片和元数据会被上传到 IPFS 网络以获得一个根 CID&#xff0c;其形式如下&#xff1a; ipfs://bafybeic36ik6cngu37xbzmpytuvyo7z3lyeen44clkkxq5d263zj4nkzr4 通过使用这个根 CID&#xff0c;每…

站在自动装配角度浅析Spring和SpringBoot的区别

Spring的自动装配实现步骤可以理解为两步&#xff1a;加载类&#xff0c;注入类。首先Spring容器启动的时候会扫描Spring配置文件&#xff0c;基于类加载器机制通过配置文件指定的扫包路径批量递归加载类&#xff0c;把加载的类注册成Bean组件放入Spring上下文容器ApplicationC…

vscode 画流程图

文章目录 1、安装插件 draw2、新建文件3、开始画图4、另存为图片 vscode可以画流程图了&#xff0c;只需要安装插件就可以了。 1、安装插件 draw 2、新建文件 3、开始画图 4、另存为图片

企业faq系统搭建平台Baklib,企业自定义管理平台

FAQ是当前网络上提供在线帮助的主要手段&#xff0c;通过事先组织好一些可能的常见问题的问答&#xff0c;发布在网页上为用户提供咨询服务。许多的Web用户都更加偏向于可信赖的FAQ页面&#xff0c;以此作为快速查找更多信息的方法。因为用户时间的紧缺&#xff0c;并且想知道产…

2023年9月制造业NPDP产品经理国际认证报名来这错不了

产品经理国际资格认证NPDP是新产品开发方面的认证&#xff0c;集理论、方法与实践为一体的全方位的知识体系&#xff0c;为公司组织层级进行规划、决策、执行提供良好的方法体系支撑。 【认证机构】 产品开发与管理协会&#xff08;PDMA&#xff09;成立于1979年&#xff0c;是…

界面控件DevExtreme DateRangeBox组件发布,支持日期范围选择!

在最新的v23.1版本中&#xff0c;DevExpress官方已经正式发布了DevExtreme DateRangeBox小部件&#xff0c;支持所有JavaScript框架&#xff0c;包括Angular、React、Vue和jQuery。这个新的控件允许最终用户选择一个日期范围&#xff0c;该组件继承了DateBox组件的特性&#xf…

pytorch tensorflow 保存和加载模型

1. Pytorch 1.1.1 save网络结构和参数&#xff1a; 注意最后一行为“self.state_dict()” def save(self,t):current_path os.path.dirname(os.path.abspath(__file__))model_path model/2E_model_ t _self.name/save_path os.path.join(current_path,model_path)if not o…

v-if 和 v-show 的区别?

v-show和v-if都是Vue中的条件渲染指令&#xff0c;它们之间的主要区别如下&#xff1a; v-show&#xff1a;v-show指令会通过修改元素的style属性来显示或隐藏元素&#xff0c;而不是修改元素的display属性。这意味着&#xff0c;当元素的v-show属性为true时&#xff0c;元素会…

借助ChatGPT使用Pandas实现Excel数据汇总

一、问题的提出 现在有如下一个Excel表&#xff1a; 上述Excel表中8万多条数据&#xff0c;记录的都是三年以来花菜类的销量&#xff0c;现在要求按月汇总实现统计每个月花菜类的销量总和&#xff0c;如果使用Python的话要给出代码。 二、问题的解决 1.首先可以用透视表的方…

将linux上的文件/文件夹下载到本地

要进行此操作 你的电脑需要有 ssh 如果没有安装 可以参考我的文章 windows系统安装SSH 其实非常简单 但您需要知道自己的文件在哪个路径下 如果不知道 例如 我知道我想下的文件叫 dist 可我不知道他在那个目录 我们可以在服务器中输入 find / -name "dist"这样 所有…

2023最新版WiFi大师专业版小程序带流量主独立版【源码 + 搭建教程】

产品介绍 WiFi大师是一款专为商家店内用户设计的WiFi连接小程序。它的出现有效解决了商家在为客户提供WiFi服务的过程中遇到的各种问题,为消费者提供了更加高效快捷的上网方式。 除此之外,WiFi大师小程序还为商家提供了一些额外的功能,例如店铺优惠券发放和周边热门店铺展…

Falcon 180B 目前最强大的开源模型

Technology Innovation Institute最近发布了Falcon 180B大型语言模型(LLM)&#xff0c;它击败了Llama-2 70b&#xff0c;与谷歌Bard的基础模型PaLM-2 Large不相上下。 180B是是Falcon 40B模型一个最新版本。以下是该模型的快速概述: 180B参数模型&#xff0c;两个版本(base和…

2020年12月 C/C++(一级)真题解析#中国电子学会#全国青少年软件编程等级考试

C/C编程&#xff08;1~8级&#xff09;全部真题・点这里 第1题&#xff1a;字符三角形 描述 给定一个字符&#xff0c;用它构造一个底边长5个字符&#xff0c;高3个字符的等腰字符三角形。 输入 输入只有一行&#xff0c; 包含一个字符。 输出 该字符构成的等腰三角形&#xff…

基于单片机压力传感器MPX4115检测-报警系统-proteus仿真-源程序

一、系统方案 本设计采用52单片机作为主控器&#xff0c;液晶1602显示&#xff0c;MPX4115检测压力&#xff0c;按键设置报警&#xff0c;LED报警。 二、硬件设计 原理图如下&#xff1a; 三、单片机软件设计 1、首先是系统初始化 /***************************************…

DDD概念理解

1、统一语言&#xff1a;通过团队交流、达成共识的、能够准确传递业务规则的、简单&#xff1a;语音 特点&#xff1a;通用、简单、无歧义 价值&#xff1a;解决了沟通障碍问题&#xff0c;使领域专家和开发人员协同合作 2、领域模型&#xff1a;把通用语言表达成软件模型 特点…

装备制造企业是否要转型智能装备后服务型公司?

一、从制造到服务&#xff1a;装备制造企业的转型之路 装备制造企业作为国家经济发展的重要支柱&#xff0c;面临着日益激烈的市场竞争。在这样的背景下&#xff0c;越来越多的装备制造企业开始意识到&#xff0c;通过转型为智能装备后服务型公司&#xff0c;可以更好地满足客…

fio工具测试硬盘读写

fio配置文件如下 config-file.ini [global] size500g direct1 thread runtime${TIME} bs${BS} rw${MODE} numjobs1 [job1] filename/dev/sda [global]&#xff1a;这是全局配置部分&#xff0c;其中包含通用的测试参数设置。 size500g&#xff1a;这指定了测试数据的总大小为…

OpenCV(三十六):霍夫直线检测

1.检测直线的霍夫变换原理 2.检测直线函数HoughLines() 检测直线流程: Step1:将参数空间的坐标轴离散化。 Step2:将图像中每个非0像素通过映射关系求取在参数空间通过的方格 Step3:统计参数空间内每个方格出现的次数&#xff0c;选取次数大于某一值的方格作为表示直线的方格…

SAP-ABAP-底表的创建和应用-01

1、创建底表SE11 给底表起个名字&#xff0c;点击创建 输入描述&#xff0c;选择交付类A&#xff0c;表视图维护选择&#xff1a;X允许显示维护。如果选择N&#xff0c;就不能维护数据了。 点击字段页签,维护字段 维护完自己需要的字段&#xff0c;点击激活&#xff0c;或触发…
最新文章