2025-08-19 05:52:54 +0000 UTC
Best Poker Hand
Categories:
Links
Code
class Solution:
def bestHand(self, ranks: List[int], suits: List[str]) -> str:
ranks.sort()
suits.sort()
same_suit = 1
cur_same_suit = 1
same_rank = 1
cur_same_rank = 1
for i in range(1, len(ranks)):
if ranks[i] == ranks[i - 1]:
cur_same_rank += 1
same_rank = max(same_rank, cur_same_rank)
else:
cur_same_rank = 1
if suits[i] == suits[i - 1]:
cur_same_suit += 1
same_suit = max(same_suit, cur_same_suit)
else:
cur_same_suit = 1
print(same_suit, same_rank)
if same_suit == 5:
return "Flush"
if same_rank >= 3:
return "Three of a Kind"
if same_rank >= 2:
return "Pair"
return "High Card"