为了账号安全,请及时绑定邮箱和手机立即绑定

最短验证是否是同花顺

最短验证是否是同花顺

PHP
一只名叫tom的猫 2019-03-18 18:04:00
['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即可

查看完整回答
反对 回复 2019-03-18
  • 2 回答
  • 0 关注
  • 326 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信