C#挑战德州扑克排序问题,看看你的算法功力

jjkcom 2010-09-15 07:01:58
/*
德州扑克大小比较所有牌型如下:
皇家同花顺:同花色的A, K, Q, J和10. 例如F10,F11,F12,F13,F14
同花顺:五张同花色的连续牌。 F2,F3,F4,F5,F6
四条:其中四张是相同点数但不同花的扑克牌,第五张是随意的一张牌。Fangkuai2,HeiTao2,Caohua2,Heitao2/HeiTao7
葫芦:由三张相同点数及任何两张其他相同点数的扑克牌组成Fangkuai2,HeiTao2,Caohua2/Caohua7,HeiTao7
   同花:此牌由五张不按顺序但相同花的扑克牌组成 F2,F3,F4,F5,F6
   顺子:此牌由五张连续扑克牌组成。F2,H3,F4,C5,F6
   三条:由三张相同点数和两张不同点数的扑克组成。Fangkuai2,HeiTao2,Caohua2/Caohua7,HeiTao4
  两对:两对点数相同但两两不同的扑克和随意的一张牌组成 F2,H2/F4,C4/F6
一对:由两张相同点数的扑克牌和另三张随意的牌组成。F2,H2/F4,C6,C7
高牌:既不是同一花色也不是同一点数也不连续的五张牌组成。 F2,H5,F4,C6,C7
  牌型大小:
1、皇家同花顺>同花顺>四条>葫芦>同花>顺子>三条>两队>一对>高牌
2、牌点从大到小为:A、K、Q、J、10、9、8、7、6、5、4、3、2,各花色不分大小。
3、同种牌型,对子时比对子的大小,其它牌型比最大的牌张,如最大牌张相同则比第二大的牌张,以此类推,都相同时为相同。
大小规则 高牌间的大小就是看谁打最大牌最大了 不看花色 只看点数A最大

*/

/// <summary>
/// 德州扑克排序
/// </summary>
/// <param name="arr">输入参数:,集合,
/// 每个元素的格式代表五张牌,先后无序,例如红桃2,黑桃4,草花8,红桃10,黑桃3
/// A用14代替,K用13代替;Q用12代替,J用11代替
/// </param>
/// <returns></returns>
private ArrayList CheckData(ArrayList arr)
{
//

//

//

return new ArrayList();
}
...全文
1438 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
jjkcom 2010-10-15
  • 打赏
  • 举报
回复
算你狠,结贴吧,如果大家有什么更好的方案,另贴给分哦。
tutuaction 2010-10-15
  • 打赏
  • 举报
回复
找到了,你不是在你的博客中公布了么?
http://blog.csdn.net/jjkcom/archive/2010/09/20/5897470.aspx
tutuaction 2010-10-15
  • 打赏
  • 举报
回复
好像见过
porschev 2010-09-17
  • 打赏
  • 举报
回复
干。。。我就会收白菜。。。。
hyblusea 2010-09-17
  • 打赏
  • 举报
回复
不懂扑克的路过...
damjmk2 2010-09-17
  • 打赏
  • 举报
回复
我只想到一种可能的算法,至于代码没时间写,只提供思路

我觉得可以把比较条件序列化在进行比较

这些比较条件可以产生一个队列
队列中的内容有
1 最小皇家同花顺
2 最小同花顺
3 最小的四条
4 最小的葫芦
5 最小的同花
6 最下的顺子
7 最小的三条
8 最小的两对
9 最小的一对
10 最小的高牌

然后对于要排序的牌型分别从上至下判断,例如大于等于最小皇家同花顺,那么插到队列最前面,如果不是,则判断是否大于最小的同花顺,如果小于皇家同花顺并且大于最小同花顺,那么插到皇家同花顺和最小同花顺之间,以此类推,到高牌为止。

最后在比较同种类型中的数据,例如同花和同花比,顺子和顺子比,至于每种比较的实现方法,我想应该不难吧
xzjxylophone 2010-09-16
  • 打赏
  • 举报
回复
默默的关注中
寒冰2046 2010-09-16
  • 打赏
  • 举报
回复
上班了,没空研究
jjkcom 2010-09-16
  • 打赏
  • 举报
回复
这是一道名企的算法笔试题(共三题),初学者有初学者的回答,高级程序员有高级程序员的回答,此岗位薪水4K-15K之间,就看你如何回答了
编程爱好者L 2010-09-15
  • 打赏
  • 举报
回复
适合初学者...
  • 打赏
  • 举报
回复
不看,不实用

111,129

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧