扑克牌排序问题
一副打乱的牌里有两对对子,其余的都是单牌。现在要求先升序输出两对对子,再升序输出其余的单牌。请问诸位大佬有解题思路吗?
我想过用set排序同时找出来重复的牌,但总感觉复杂度太高了。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
一副打乱的牌里有两对对子,其余的都是单牌。现在要求先升序输出两对对子,再升序输出其余的单牌。请问诸位大佬有解题思路吗?
我想过用set排序同时找出来重复的牌,但总感觉复杂度太高了。
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(4)
引入权重的思路,排面为 n 则权重加 n,符合某些规则(如单张)权重加个 1000,这个值能保证比所有单张排面都大就行了,然后根据权重升序排序就好了。
一般编程需要都有提供自定义排序对比方法,把这个算法写进去就行了
申请一个数组,对牌做映射。比如草花1,映射到1位置,方片k映射到某位置。数组的值存储什么花色,逗号分隔。遍历一遍牌后,按顺序输出就好了。
先遍历一次把对子找出来放在一个单独的数组里,再将剩余的牌排序,之后合并两个数组就好了。