斗地主之顺子

564 篇文章

已下架不支持订阅

470 篇文章

已下架不支持订阅

题目解析

先看一个例子:

3 4 5 6 6 7 7 8 9 10

这个例子该输出什么呢?

如果是优先最长顺子的话,那么应该输出:

3 4 5 6 7 8 9 10

如果是优先最多顺子的话,那么应该输出:

3 4 5 6 7

6 7 8 9 10

当前博客解法是按照 “优先最长顺子” 实现的

优先最长顺子解法

我的解题思路如下:

首先定义一个card2Num方法,即将字符串牌面 映射为 数值。具体映射关系可看代码中card2Num方法的实现。

然后,将输入的牌数组,按照card2Num映射的数值,进行升序排序。

之后,我创建多个顺子容器,外层遍历牌数组,内层遍历顺子容器:

  • 如果顺子容器是空的,则直接将当前牌加入该顺子容器
  • 如果顺子容器不是空的,则比较当前牌cur 和 顺子容器尾牌tail
  1. 如果cur - tail = 1,则当前牌cur可以加入当前顺子尾部。
  2. 如果cu

已下架不支持订阅

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员阿甘

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值