['as', '10h', '9d', 'qc', '3h']
'as' = 'a'是'A','s'是花色
這樣一個array,需要寫一個function用最短的字符驗證是否為順子或者同花順寫了半天,最簡單的也需要很多行,說是有人用70個字符完成過,感覺不太可能。。
2 回答

三國紛爭
TA貢獻1804條經驗 獲得超7個贊
我沒學過php,給你一個思路吧。
1.建立一個數字到撲克數字的映射(a[1]='1',a[2]='2'....a[11]='j'...)
2.建立另一個數字到撲克花色的映射(b[1]='s',b[2]='h'...)
3.利用1,2寫一個2重循環建立一個牌型到值的映射(c[a[i].b[j]]=i+j*100)
4.利用映射關系對你的數組進行排序,接下來檢測每個相鄰元素之間的值的差均為1即可
代碼行數尚可,沒有利用可能存在的語言特性,不夠優美。優點是映射關系只要建立1次,以后重復步驟4即可
- 2 回答
- 0 關注
- 336 瀏覽
添加回答
舉報
0/150
提交
取消