LeetCode 每日一题2347. 最好的扑克手牌
Halo,这里是Ppeua。平时主要更新C语言,C++,数据结构算法......感兴趣就关注我吧!你定不会失望。
🌈个人主页:主页链接
🌈算法专栏:专栏链接
我会一直往里填充内容哒!
🌈LeetCode专栏:专栏链接
目前在刷初级算法的LeetBook 。若每日一题当中有力所能及的题目,也会当天做完发出
🌈代码仓库:Gitee链接
🌈点击关注=收获更多优质内容🌈
这道题非常的简单 仅分析出返回的优先级就可AC
轮到我了《没营养》(doge 困难题我畏畏缩缩,简单题我重拳出击
目录
题目:
白话讲解:
题解:
代码实现:
完结撒花:
题目:
给你一个整数数组
ranks和一个字符数组suit。你有5张扑克牌,第i张牌大小为ranks[i],花色为suits[i]。下述是从好到坏你可能持有的 手牌类型 :
"Flush":同花,五张相同花色的扑克牌。"Three of a Kind":三条,有 3 张大小相同的扑克牌。"Pair":对子,两张大小一样的扑克牌。"High Card":高牌,五张大小互不相同的扑克牌。请你返回一个字符串,表示给定的 5 张牌中,你能组成的 最好手牌类型 。
注意:返回的字符串 大小写 需与题目描述相同。
输入:ranks = [13,2,3,1,9], suits = ["a","a","a","a","a"] 输出:"Flush" 解释:5 张扑克牌的花色相同,所以返回 "Flush" 。输入:ranks = [4,4,2,4,4], suits = ["d","a","a","b","c"] 输出:"Three of a Kind" 解释:第一、二和四张牌组成三张相同大小的扑克牌,所以得到 "Three of a Kind" 。 注意我们也可以得到 "Pair" ,但是 "Three of a Kind" 是更好的手牌类型。 有其他的 3 张牌也可以组成 "Three of a Kind" 手牌类型。输入:ranks = [10,10,2,12,9], suits = ["a","b","c","a","d"] 输出:"Pair" 解释:第一和第二张牌大小相同,所以得到 "Pair" 。 我们无法得到 "Flush" 或者 "Three of a Kind" 。
ranks.length == suits.length == 51 <= ranks[i] <= 13'a' <= suits[i] <= 'd'- 任意两张扑克牌不会同时有相同的大小和花色。
白话讲解:
给出五张手牌的手牌,分析这五张手牌的属性,返回的优先级分别为:五张牌花色相同->三张大小相同的手牌->两张大小相同的手牌->五张大小都不相同的手牌。

题解:
分析题干类型,根据其划分属性我们很容易就能想到用一个东西来记录各种手牌属性出现的次数。
这里根据其数据类型的大小开辟了数组,官解使用hash表
但因为我觉得数组更能体现这个过程(绝对不是因为我不会! 好吧就是因为还没看到stl,不想懂个用法就上场
加上题给的数据大小都很小,所以两种方式速度上大差不差。
当然如果数据范围很大,是要用离散化的思想(也就是哈希的原理来开辟数组 或者直接使用stl里的hash,否则会造成很严重的空间浪费。
创建两个数组来记录其大小与花色两种属性
首先先遍历花色的suits,因为他优先级最高,若出现一个花色出现五次,则直接返回。
之后遍历手牌大小,这里有一个优化的地方:
若一张手牌大小出现了两次,其已经满足了一种返回条件,但出现三次的优先级更高,此时我们可以记录下是否出现了两次,若之后没有出现三次可以直接返回两次的情况,不需要对数组在进行一次遍历寻找两次的情况。
之后只需要判断是否出现了两次,若无直接返回最差的情况,反之。
代码实现:
class Solution {
public:string bestHand(vector<int>& ranks, vector<char>& suits) {int rank[14]={0},suit[4]={0};int flag=0;for(auto c:suits){suit[c-'a']++;if(suit[c-'a']==5)return "Flush";}for(auto c:ranks){rank[c]++;if(rank[c]==3)return "Three of a Kind";if(rank[c]==2)flag=1;}return flag==1?"Pair":"High Card";}
};
完结撒花:
🌈本篇博客的内容【LeetCode 每日一题2347. 最好的扑克手牌】已经结束。
🌈若对你有些许帮助,可以点赞、关注、评论支持下博主,你的支持将是我前进路上最大的动力。
🌈若以上内容有任何问题,欢迎在评论区指出。若对以上内容有任何不解,都可私信评论询问。
🌈诸君,山顶见。
相关文章:
LeetCode 每日一题2347. 最好的扑克手牌
Halo,这里是Ppeua。平时主要更新C语言,C,数据结构算法......感兴趣就关注我吧!你定不会失望。 🌈个人主页:主页链接 🌈算法专栏:专栏链接 我会一直往里填充内容哒! &…...
MMPBSA计算--基于李继存老师gmx_mmpbsa脚本
MMPBSA计算–基于李继存老师gmx_mmpbsa脚本 前期准备 软件安装 安装gromacs, 可以查阅 我的blogGromacs-2022 GPU-CUDA加速版 unbantu 安装 apbs, sudo apt install apbs 安装 gawk, sudo apt install gawk MD模拟好的文件 我们以研究蛋白小分子动态相互作用-III(蛋白配体…...
Kafka优化篇-压测和性能调优
简介 Kafka的配置详尽、复杂,想要进行全面的性能调优需要掌握大量信息,这里只记录一下我在日常工作使用中走过的坑和经验来对kafka集群进行优化常用的几点。 Kafka性能调优和参数调优 性能调优 JVM的优化 java相关系统自然离不开JVM的优化。首先想到…...
MinIo-SDK
3.2.5 SDK 3.2.5.1上传文件 MinIO提供多个语言版本SDK的支持,下边找到java版本的文档: 地址:https://docs.min.io/docs/java-client-quickstart-guide.html 最低需求Java 1.8或更高版本: maven依赖如下: XML<dependency&g…...
系统分析师真题2018试卷相关概念一
面向对象的基本概念: 对象的三要素为:属性(数据)、方法(操作)、对象ID(标识)UML2.0包括14种图: 类图(class diagram):类图描述一组类、接口、协作和他们之间的关系。在OO系统的建模中,最常见的图就是类图。类图给出了系统的静态设计图,活动类的类图给出了系统的静…...
身为大学生,你不会还不知道有这些学生福利吧!!!!
本文介绍的是利用学生身份可以享受到的相关学生优惠权益,但也希望各位享受权利的同时不要忘记自己的义务,不要售卖、转手自己的学生优惠资格,使得其他同学无法受益。 前言 高考已经过去,我们也将迎来不同于以往的大学生活&#x…...
试题 算法训练 藏匿的刺客
问题描述 强大的kAc建立了强大的帝国,但人民深受其学霸及23文化的压迫,于是勇敢的鹏决心反抗。 kAc帝国防守森严,鹏带领着小伙伴们躲在城外的草堆叶子中,称为叶子鹏。 kAc帝国的派出的n个看守员都发现了这一问题ÿ…...
JavaWab开发的总括以及HTML知识
一、Web开发的总括在这里我来给大家介绍一下Wab开发需要配合哪些前后端的对应语言:首先是Java(Java通常的工作):Wab开发android开发大数据开发另外,Wab开发想要学好就需要配合之前博客中的内容,如:多线程/IO/网络/数据结构/数据库......这里建议学懂前面的内容再往下走.JavaWab…...
Oracle数据库文件(*.dbf)迁移【图文教程】
目录 背景 解决 第1步:sqlplus登录 第2步:查看Oracle数据文件所在目录 第3步:修改表空间为离线状态 第4步: 移动数据库文件到新目录 第5步:修改表空间数据文件位置 第6步:修改表空间为online状态 第7步:临时表空间处理 第8步:验证修改是否成功 参考...
Java中如何创建和使用对象?
要想使用一个类则必须要有对象。在Java程序中可以使用new关键字创建对象,具体格式如下:类名对象名称null; 对象名称new 类名();上述格式中,创建对象分为声明对象和实例化对象两步,也可以直接通过下面的方式创建对象,具…...
Spring Cloud Alibaba--ActiveMQ微服务详解之消息队列(四)
上篇讲述高并发情况下的数据库处理方式:分布式事务管理机制。即使我们做到这一步并发情况只能稍微得到缓解,当然千万级别的问题不大,但在面对双十一淘宝这类的达上亿的并发的时候仅仅靠分布式事务管理还是远远不够,即使数据库可以…...
32岁,薪水被应届生倒挂,裸辞了
今年 32 岁,我从公司离职了,是裸辞。 前段时间,我有一件事情一直憋在心里很难受,想了很久也没找到合适的人倾诉,就借着今天写出来。 我一个十几年开发经验,八年 软件测试 经验的职场老人,我慢…...
蓝桥杯训练day1
前缀和差分1.前缀和(1)3956. 截断数组(2)795. 前缀和(3)796. 子矩阵的和(4)1230. K倍区间(5)99. 激光炸弹2.差分(1)797. 差分(2)差分矩阵(3)3729. 改变数组元素(4)100. 增减序列1.前缀和 (1)3956. 截断数组 方法1:暴力 先用两个数组分别保存前缀和,后缀…...
Unity毛发系统TressFX Exporter
Unity 数字人交流群:296041238 一:在Maya下的TressFX Exporter 插件安装步骤: 1. 下载Maya的TressFX Exporter插件 下载地址:TressFX Exporter 链接:https://github.com/Unity-China/cn.unity.hairfx.core/tree/m…...
《爆肝整理》保姆级系列教程python接口自动化(十九)--Json 数据处理---实战(详解)
简介 上一篇说了关于json数据处理,是为了断言方便,这篇就带各位小伙伴实战一下。首先捋一下思路,然后根据思路一步一步的去实现和实战,不要一开始就盲目的动手和无头苍蝇一样到处乱撞,撞得头破血流后而放弃了。不仅什么…...
Golang:reflect反射的使用例子
1.reflect包作用 reflect包定义了“反射”相关能力,“反射”在计算机学中是指计算机程序在运行时(runtime)可以访问、检测和修改它本身状态或行为的一种能力。基于反射特性可以通用化地解决一些需要频繁修改代码及硬编码问题,但是…...
markdown常用语法--花括号(超详细)
💌 所属专栏:【Markdown常用语法】 😀 作 者:我是夜阑的狗🐶 🚀 个人简介:一个正在努力学技术的CV工程师,专注基础和实战分享 ,欢迎咨询! …...
BN、SyncBN、IN、LN、GN学习记录
1 BatchNormBN的原理BN是计算机视觉最常用的标准化方法,它沿着N、H、W维度对输入特征图求均值和方差,随后再利用均值和方差来归一化特征图。计算过程如下图所示,1)沿着通道维度计算其他维度的均值;2)沿着通…...
使用 Auto-scheduling 优化算子
本篇回答来源于 TVM 官方英文文档 Lianmin Zheng,Chengfan Jia。更多 TVM 中文文档可访问→https://tvm.hyper.ai/ 本教程将展示 TVM 的 Auto Scheduling 功能,如何在不编写自定义模板的情况下,找到最佳 schedule。 与基于模板的 AutoTVM 依…...
智能运维应用之道,告别企业数字化转型危机
面临的问题及挑战 数据中心发展历程 2000 年中国数据中心始建,至今已经历以下 3 大阶段。早期:离散型数据中心 IT 因以项目建设为导向,故缺乏规划且无专门运维管理体系,此外,开发建设完的项目均是独立运维维护&#…...
H5游戏整合平台源码:70款游戏一键搭建,支持流量主变现的完整解决方案
一、平台概述与核心优势这套H5游戏整合平台源码是一套全面、实用且零门槛的一站式解决方案。它专为站长、开发者、创业团队及游戏爱好者打造,无需分散搜罗各类零散源码,一次获取即可拥有70余款经典H5网页小游戏。所有源码均基于原生H5技术开发࿰…...
H-第一周
文章目录计算机基础和Linux安装linux基础命令实践Linux基础与文件系统基础目录结构文件链接计算机基础和Linux安装 ubuntu-24.04-server安装官方镜像下载地址:https://cn.ubuntu.com/download/server/thank-you?version24.04.3&architectureamd64 创建虚拟机 …...
OpenClaw配置可视化:Phi-3-mini-128k-instruct模型参数调优
OpenClaw配置可视化:Phi-3-mini-128k-instruct模型参数调优 1. 为什么需要参数调优? 上周我在用OpenClaw自动生成技术文档时遇到了一个典型问题:同样的提示词,有时候输出简洁专业,有时候却变得啰嗦跑题。这种不稳定性…...
Unity 2018 + Facebook SDK 7.15.1避坑指南:从崩溃解决到完整功能实现
Unity 2018与Facebook SDK 7.15.1深度适配实战手册 当老牌游戏引擎遇上社交巨头的SDK,版本兼容性问题往往成为开发者的噩梦。本文将带您深入探索Unity 2018与Facebook SDK 7.15.1这对"经典组合"的适配之道,从环境搭建到功能实现,完…...
Jasny Bootstrap按钮标签组件详解:如何优雅地添加图标标签
Jasny Bootstrap按钮标签组件详解:如何优雅地添加图标标签 【免费下载链接】bootstrap The missing components for your favorite front-end framework. 项目地址: https://gitcode.com/gh_mirrors/boots/bootstrap Jasny Bootstrap作为Bootstrap的扩展组件…...
OpenClaw多通道管理:千问3.5-9B同时服务飞书与钉钉
OpenClaw多通道管理:千问3.5-9B同时服务飞书与钉钉 1. 为什么需要多通道管理? 上周三凌晨两点,我被手机连续震动吵醒——团队同时用飞书和钉钉给我发了紧急需求。半梦半醒间突然想到:既然OpenClaw能自动化处理消息,为…...
如何通过 proc-macro-workshop 快速掌握 Rust 代码生成技术:终极完整指南
如何通过 proc-macro-workshop 快速掌握 Rust 代码生成技术:终极完整指南 【免费下载链接】proc-macro-workshop Learn to write Rust procedural macros [Rust Latam conference, Montevideo Uruguay, March 2019] 项目地址: https://gitcode.com/gh_mirrors/…...
形式验证实战:5个降低状态空间复杂度的黑科技(附内存控制器案例)
形式验证实战:5个降低状态空间复杂度的黑科技(附内存控制器案例) 在芯片设计领域,形式验证(Formal Verification, FV)正逐渐成为确保设计正确性的重要手段。然而,随着设计复杂度的提升ÿ…...
嵌入式设备DHCP配置与优化实战
1. DHCP:嵌入式设备联网的智能管家在嵌入式系统开发中,网络连接往往是项目成败的关键。想象一下,一个智能工厂部署了上百个传感器节点,如果每个设备都需要手动配置IP地址,不仅耗时费力,还容易出错。这正是D…...
信通院:AI4SE行业现状调查报告 2026
这份信通院 2026 年 AI4SE 行业现状调查报告,核心是 AI 与软件工程深度融合进入规模化落地关键期,全流程提效显著,企业高度重视,但仍面临人才、成本等挑战,未来将走向自主编程、多智能体协同的新范式。一、调研概况有效…...

