2025年扎金花

扎金花题目描述 两个搜狐的程序员加了一个月班 终于放假了 于是他们决定扎金花渡过愉快的假期 游戏规则 共 52 张普通牌 牌面为 2 3 4 5 6 7 8 9 10 J Q K A 之一 大小递增 各四张 每人抓三张牌 两人比较手中三张牌大小 大的人获胜

大家好,我是讯享网,很高兴认识大家。

题目描述

两个搜狐的程序员加了一个月班,终于放假了,于是他们决定扎金花渡过愉快的假期 。

对于牌型的规则如下:
1.三张牌一样即为豹子
2.三张牌相连为顺子(A23不算顺子)
3.有且仅有两张牌一样为对子 豹子>顺子>对子>普通牌型 在牌型一样时,比较牌型数值大小(如AAA>KKK,QAK>534,2>10104) 在二人均无特殊牌型时,依次比较三张牌中最大的。大的人获胜,如果最大的牌一样,则比较第二大,以此类推(如37K>89Q) 如二人牌面相同,则为平局。


讯享网

输入例子:
KQ3 3Q9
10QA 6102
5810 7KK
632 74J
10102 K77
JKJ 926
68K 27A

输出例子:
1
1
-1
-1
1
1
-1

分析:
1. 有输入不合法状态
2. 比较顺序: 牌型–大小
3. 比较大小时, 我们需要将字符串转化为数字

解题思路:

输入的2个字符串为stringA, stringB
1. 分别遍历字符串stringA, stringB, 将其转换为3个数字 a1, a2, a3, b1, b2, b3, 数字范围是[2, 14],范围超出直接返回-2
2.判断A, B的类型并排序:
res[0]代表类型:0-离散 1-对子 2-顺子 3-豹子
res[1] ~ res[3] 依次递减

deltab = a-b deltac = a-c deltab = 2, deltac = 1 res={2, a, c, b} deltab = 2, deltac = 0 res={1, a, c, b} deltab = 1, deltac = 2 res={2, a, b, c} deltab = 1, deltac = -1 res={2, c, a, b} deltab = 1, deltac = 0 res={1, a, c, b} deltab = 0, deltac = 0 res={3, a, b, c} deltab = 0, deltac != 0 res={1, a, b, c} deltab = -1, deltac = 1 res={2, b, a, c} deltab = -1, deltac = -1 res={2, b, c, a} deltab = -1, deltac = 0 res={1, b, a, c} deltab = -2, deltac = -1 res={2, b, c, a} deltab = -2, deltac = 0 res={1, b, a, c} 其他的均为离散型{0, x, x, x} 

讯享网

3.比较数组的各位大小

小讯
上一篇 2025-03-18 10:23
下一篇 2025-03-04 16:22

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/75879.html