阿里蚂蚁 笔试题

题目:给出一组扑克袁常鑫较。每张扑克有特定花色和数值,且没有两张完全一样的扑克。
花色有“红桃”、“黑桃”、“方片”、“梅花”四种,大小分为“A, K, Q, J, T(代表10), 9, 8, 7, 6, 5, 4, 3, 2”(由大到小)。
五张完全不同的牌构成一幅手牌,我们需要比较两手牌的大小,两手牌可能部分牌是公用牌,
不同类型手牌大小规则由大到小如下:
Royal Flush: 只能是AKQJT,且同花
Flush Straight: 是同花,且是顺子(5432A是最小的顺子,最大的为AKQJT)
Four of a Kind: AAAAx(x表示任意牌, A表示四张一样大小的牌,如果两手牌都是Four of a Kind,则比较A的大小)
Full House: AAABB(A表示3张一样大小的牌,B表示2张一样大小的牌,如果两手牌都是Full House,则比较A的大小,如果两手牌都是Full Hose且A相同,则比较B的大小)
Straight:顺子(5432A是最小的顺子,最大的为AKQJT),但非同花
Flush: (5张牌花色相同,如果两手牌都是Flush,则比较最大的那张牌的大小,如果仍然一样,则以此类推,直到完全一样)
Three of a Kind: AAAxy (xy表示任意牌,且x>y, A表示3张一样大小的牌,如果两首牌都是Three of a Kind,则比较A的大小,如果A相同,比较x,如果x相同,比较y)
Two Pairs: AABBx (x表示任意牌,且A>B,如果两首牌都是Two pairs,则比较A的大小,如果A相同,比较B,如果B相同,比较x)
High Cards:abcde(a>b>c>d>e,以此比较大小)

输入:两手牌(数据结构自己定义,不考虑数据输入不合法,如,不用考虑输入为“黑桃X”),
然后比较大小。输出较大的手牌,如果相等则返回相等

posted on   滚动的蛋  阅读(665)  评论(0编辑  收藏  举报

编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示