真题目录:点击查看目录
华为OD面试真题精选:点击立即查看
2025华为od 机试2025B卷-华为机考OD2025年B卷
斗地主起源于湖北十堰房县,据说是一位叫吴修全的年轻人根据当地流行的扑克玩法“跑得快”改编的,如今已风靡整个中国,并流行于互联网上。
牌型:单顺,又称顺子,最少5张牌,最多12张牌(3…A)不能有2,也不能有大小王,不计花色。
例如: 3-4-5-6-7-8,7-8-9-10-J-Q,3-4-5-6-7-8-9-10-J-Q-K-A
可用的牌 3<4<5<6<7<8<9<10 (共有13×4+2张牌) 输入: 输出: 输入的第一行为当前手中的牌 输入的第二行为已经出过的牌 输入 输出 说明 无 输入 输出 说明 剩余的牌无法构成顺子 判断对手可能凑成的最长顺子(最少5张,最大12张,仅限3~A),输出最大牌面值的最长顺子;若不存在,输出 通过以下公式得出对手每种牌的剩余量:
输入描述
输出描述
示例1
3-3-3-3-4-4-5-5-6-7-8-9-10-J-Q-K-A
4-5-6-7-8-8-8
9-10-J-Q-K-A
示例2
3-3-3-3-8-8-8-8
K-K-K-K
NO-CHAIN
解题思路
✅ 题目目标
NO-CHAIN
。
整体思路分为 4 步:
1. 构建完整牌库与合法顺子牌面
2. 统计对手可能拥有的牌数
对手牌数 = 总张数 - 自己手上张数 - 出过的张数
3. 在 3~A 中滑窗查找顺子
i
到 j
(j-i+1 ≥ 5
)
4.