给你一个整数数组 ranks 和一个字符数组 suit 。你有 5 张扑克牌,第 i 张牌大小为 ranks[i] ,花色为 suits[i] 。下述是从好到坏你可能持有的 手牌类型 :来源:
Posted 最小的帆也能远航
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了给你一个整数数组 ranks 和一个字符数组 suit 。你有 5 张扑克牌,第 i 张牌大小为 ranks[i] ,花色为 suits[i] 。下述是从好到坏你可能持有的 手牌类型 :来源:相关的知识,希望对你有一定的参考价值。
给你一个整数数组 ranks 和一个字符数组 suit 。你有 5 张扑克牌,第 i 张牌大小为 ranks[i] ,花色为 suits[i] 。
下述是从好到坏你可能持有的 手牌类型 :
"Flush":同花,五张相同花色的扑克牌。
"Three of a Kind":三条,有 3 张大小相同的扑克牌。
"Pair":对子,两张大小一样的扑克牌。
"High Card":高牌,五张大小互不相同的扑克牌。
请你返回一个字符串,表示给定的 5 张牌中,你能组成的 最好手牌类型 。注意:返回的字符串 大小写 需与题目描述相同。
class Solution
public String bestHand(int[] ranks, char[] suits)
char a = suits[0];
boolean isFluch = true;
for (char suit : suits)
if (suit != a)
isFluch = false;
if (isFluch)
return "Flush";
HashMap<Integer, Integer> map = new HashMap<>();
for (int rank : ranks)
map.put(rank, map.getOrDefault(rank, 0) + 1);
List<Integer> list = map.values().stream().sorted((o1, o2) -> return o2 - o1; ).collect(Collectors.toList());
if (list.get(0) >= 3)
return "Three of a Kind";
if (list.get(0) >= 2)
return "Pair";
return "High Card";
class Solution
public String bestHand(int[] ranks, char[] suits)
Set<Character> suitsSet = new HashSet<>();
for (char suit : suits)
suitsSet.add(suit);
if (suitsSet.size() == 1)
return "Flush";
int[] rankCount = new int[14];
for (int rank : ranks)
rankCount[rank]++;
if (rankCount[rank] == 3)
return "Three of a Kind";
for (int rank : rankCount)
if (rank == 2)
return "Pair";
return "High Card";
以上是关于给你一个整数数组 ranks 和一个字符数组 suit 。你有 5 张扑克牌,第 i 张牌大小为 ranks[i] ,花色为 suits[i] 。下述是从好到坏你可能持有的 手牌类型 :来源:的主要内容,如果未能解决你的问题,请参考以下文章
2021-11-14:Fizz Buzz。给你一个整数 n ,找出从 1 到 n 各个整数的 Fizz Buzz 表示,并用字符串数组 answer(下标从 1 开始)返回结果,其中:answer[i