给你一个整数数组 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] 。下述是从好到坏你可能持有的 手牌类型 :来源:的主要内容,如果未能解决你的问题,请参考以下文章

LeetCode 2347. 最好的扑克手牌

2021-11-14:Fizz Buzz。给你一个整数 n ,找出从 1 到 n 各个整数的 Fizz Buzz 表示,并用字符串数组 answer(下标从 1 开始)返回结果,其中:answer[i

将字符数组用作整数

5855. 找出数组中的第 K 大整数

java 中怎样拆分一个整数 并赋值给一个数组

LeetCode 1331.数组序号转换