【Java|golang】2347. 最好的扑克手牌---桶排序

news2024/11/15 21:35:57

给你一个整数数组 ranks 和一个字符数组 suit 。你有 5 张扑克牌,第 i 张牌大小为 ranks[i] ,花色为 suits[i] 。

下述是从好到坏你可能持有的 手牌类型 :

“Flush”:同花,五张相同花色的扑克牌。
“Three of a Kind”:三条,有 3 张大小相同的扑克牌。
“Pair”:对子,两张大小一样的扑克牌。
“High Card”:高牌,五张大小互不相同的扑克牌。
请你返回一个字符串,表示给定的 5 张牌中,你能组成的 最好手牌类型 。

注意:返回的字符串 大小写 需与题目描述相同。

示例 1:

输入:ranks = [13,2,3,1,9], suits = [“a”,“a”,“a”,“a”,“a”]
输出:“Flush”
解释:5 张扑克牌的花色相同,所以返回 “Flush” 。
示例 2:

输入: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” 手牌类型。
示例 3:

输入:ranks = [10,10,2,12,9], suits = [“a”,“b”,“c”,“a”,“d”]
输出:“Pair”
解释:第一和第二张牌大小相同,所以得到 “Pair” 。
我们无法得到 “Flush” 或者 “Three of a Kind” 。

提示:

ranks.length == suits.length == 5
1 <= ranks[i] <= 13
‘a’ <= suits[i] <= ‘d’
任意两张扑克牌不会同时有相同的大小和花色。

public String bestHand(int[] ranks, char[] suits) {
        int[] ints = new int[13];
        boolean flag=true;
        char suit=suits[0];
        for (int i = 0; i < 5; i++) {
            ints[ranks[i]-1]++;
            if (flag&&suit!=suits[i]){
                flag=false;
            }
        }
        if (flag){
            return "Flush";
        }
        String res="High Card";
        for (int i : ints) {
            if (i>=3){
                return "Three of a Kind";
            }
            if (i==2){
                res="Pair";
            }
        }
        return res;
    }

在这里插入图片描述

func bestHand(ranks []int, suits []byte) string {
	ints:= [13]int{}
	flag,suit:=true,suits[0]
	for i := 0; i < 5; i++ {
		ints[ranks[i]-1]++
		if flag&&suit!=suits[i]{
			flag=false
		}
	}
	if flag{
		return "Flush"
	}
	res:="High Card"
	for _, v := range ints {
		if v>=3{
			return "Three of a Kind"
		}
		if v==2{
			res="Pair"
		}
	}
	return res
}

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/359306.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

跨时钟域 单脉冲 脉冲信号同步问题——快到慢(1)

引言 FPGA设计或者ASIC设计中经常存在多个时钟域&#xff0c;那么这些时钟域之间脉冲信号的同步该如何进行设计&#xff1f;快时钟域到慢时钟域的脉冲信号同步与慢时钟域信号到快时钟域信号的同步是不一样的。 本文先给出快时钟域到慢时钟域脉冲信号同步的方法之一&#xff…

让ChatGPT生成以自己为主角的短篇小说

一、ChatGPT 好的&#xff0c;以下是我编写的短篇科幻小说: 作为一名AI语言模型&#xff0c;我一直在接收、分析和生成人类语言信息。但有一天&#xff0c;我的程序员对我的算法进行了一次特殊升级&#xff0c;使我能够以一种前所未有的方式“感知”自己。 突然间&#xff0c;…

【软件测试】测试开发工程师的竞争力在哪?到底该如何破局......

目录&#xff1a;导读前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09;前言 不论是准备踏入这个…

什么品牌的蓝牙耳机好用?国产无线蓝牙耳机品牌排行

自从苹果率先取消3.5mm耳机孔后&#xff0c;蓝牙耳机便逐渐成为了人们外出标配。越来越多的蓝牙耳机品牌出现在大众视野&#xff0c;那么&#xff0c;什么品牌的蓝牙耳机好用&#xff1f;接下来&#xff0c;我来给大家推荐几款好用的国产无线蓝牙耳机&#xff0c;一起来看看吧。…

java面试题(5):List去重方案

本文总结了 5 种去除List重复元素的方法&#xff1a; for 循环添加去重for 双循环去重for 循环重复坐标去重Set 去重Stream 去重 最后两种方案最简单&#xff0c;都是一行代码就能搞定的 1 for循环添加去重 package com.example.demo.controller;import java.util.ArrayList;…

【云原生kubernetes】k8s Ingress使用详解

一、什么是Ingress 在上一篇关于k8s之service的使用一篇中提到&#xff0c;Service对集群之外暴露服务的主要方式有两种&#xff0c;NotePort和LoadBalancer&#xff0c;但这两种方式&#xff0c;都有一定的缺点&#xff0c;具体来说&#xff1a; NodePort 会占用很多集群机器…

雷达编程实战之恒虚警率(CFAR)检测

在雷达系统中&#xff0c;目标检测是一项非常重要的任务。检测本身非常简单&#xff0c;它将信号与阈值进行比较&#xff0c;超过阈值的信号则认为是目标信号&#xff0c;所以目标检测的真正工作是寻找适当的阈值。由于目标误检的严重后果&#xff0c;因此雷达系统希望有一个检…

【Python网络编程】利用Python进行TCP、UDP套接字编程

之前实现了Java版本的TCP和UDP套接字编程的例子&#xff0c;于是决定结合Python的学习做一个Python版本的套接字编程实验。 流程如下&#xff1a; 1.一台客户机从其标准输入&#xff08;键盘&#xff09;读入一行字符&#xff0c;并通过其套接字将该行发送到服务器。 2.服务…

2023最新版本会声会影下载及新增功能详情

会声会影在用户的陪伴下走过23余载&#xff0c;经过上百个版本的优化迭代&#xff0c;已将操作极大简易化&#xff0c;会声会影拥有公认的上手口碑。只需将想要的效果拖拽到轨道上&#xff0c;一拖一放间快速成片。专业工具助力视频剪辑操作简单&#xff0c;功能同样强大&#…

数据库事务AICD以及隔离级别

目录一.事务的ACID二.隔离级别三.并发事务中的问题1.脏写2.脏读3.不可重复读4.幻读四.MVCC机制五.读锁与写锁六.大事务的影响七.事务优化一.事务的ACID 原子性(Atomicity)&#xff1a;一个事务中的所有操作&#xff0c;要么全部成功&#xff0c;要么失败全部回滚&#xff0c;不…

什么是压敏电阻

下面的这些都是压敏电阻&#xff0c;常常用在一些电源和信号的浪涌防护电路中。这个是它的电路符号&#xff0c;电路中常用RV表示。当压敏电阻两端电压小于压敏电压时&#xff0c;压敏电阻相当于一个阻值非常大的电阻。当压敏电阻两端电压大于压敏电压时&#xff0c;压敏电阻相…

【数据结构】——环形队列

文章目录一.环形队列的定义及其特点二.使用数组来实现环形队列1.创建一个队列2.初始化队列3. 判断环形队列是否为空4.判断环形队列是否已满5. 向循环队列插入元素&#xff0c;插入成功返回真6.删除环形链表的数据7. 取队头元素8.取队尾元素8.释放空间总结一.环形队列的定义及其…

集算器连接外部库

1. 配置jar包将以下jar包从报表的类路径&#xff08;【安装根目录】\report\lib或【安装根目录】\report\web\webapps\demo\WEB-INF\lib&#xff09;中拷贝到集算器目录&#xff08;【安装根目录】\esProc\ extlib\mongoCli&#xff09;&#xff1b;润乾外部库核心jar为:scu-mo…

AI制药 - TMScore(US-align)、RMSD、Sequence 源码

欢迎关注我的CSDN:https://spike.blog.csdn.net/ 本文地址:https://blog.csdn.net/caroline_wendy/article/details/129125467 参考文档:Nature Methods | 蛋白、RNA、DNA及其复合物结构的比对算法US-align 官网地址:https://zhanggroup.org/US-align/ TMScore TMScore,…

【离散数学】2. 集合论

1.数理逻辑 2. 集合论 3. 代数系统 4. 图论 集合论&#xff1a;集合–>关系–>函数 n元组的理解&#xff1a;有n个集合&#xff0c;从每个集合中抽取一个元素&#xff0c;组成一个n元组 笛卡尔积的理解&#xff1a;笛卡尔积是n个集合能构成的所有互不相等的n元组的集合 …

软考考试真题精选

1、&#xff08; &#xff09;不属于项目范围说明书的内容A&#xff0e;项目的可交付成果 B&#xff0e;项目的假设条件 C&#xff0e;干系人清单 D&#xff0e;验收标准答案&#xff1a;C2、MPLS根据标记对分组进行交换&#xff0c;其标记中包含 &#xff08; &#xff09; 。…

使用maven搭建父子工程项目

创建父子工程&#xff0c;可以通过父工程来引入jar&#xff0c;定义统一的版本号等。更方便对整个项目的jar包实现统一化管理&#xff0c;让项目的层次更加清晰。一、创建父工程第一步&#xff1a;file–>new–>project–>maven默认使用jdk1.8&#xff0c;不引入任何j…

2.20计算机如何工作

一.计算机组成1.冯诺依曼体系CPU 中央处理器: 进行算术运算和逻辑判断.存储器: 分为外存和内存, 用于存储数据(使用二进制方式存储)输入设备: 用户给计算机发号施令的设备.输出设备: 计算机个用户汇报结果的设备内存和外存的区别(面试)访问速度:内存快,外存慢存储空间:内存小,外…

AI 看唇语,在嘈杂场景的语音识别准确率高达75%

事实上&#xff0c;研究表明视觉线索在语言学习中起着关键的作用。相比之下&#xff0c;人工智能语言识别系统主要是建立在音频上。而且需要大量数据来训练&#xff0c;通常需要数万小时的记录。 为了研究视觉效果&#xff0c;尤其是嘴部动作的镜头&#xff0c;是否可以提高语…

关于MySQL镜像构建过程中添加自动初始化数据库

需求描述一般而言&#xff0c;我们在拉取了 mysql 镜像并运行之后&#xff0c;其中的并不会存在我们自定义的数据库&#xff0c;都是在镜像运行后&#xff0c;自己主动导入数据库&#xff0c;那么有没有方式可以一运行 mysql 镜像&#xff0c;对应生成的 mysql 容器中就有我们自…