当前位置: 首页 > news >正文

5.17华为OD机试真题 新系统 - 麻将基本胡牌型判断 (JavaPyCC++JsGo)

麻将基本胡牌型判断

2026 华为OD机试真题 5.17华为OD上机新系统考试真题 100 分题型

点击查看华为 OD 机试真题完整目录:2026最新华为OD机试新系统卷 + 双机位C卷 真题题库目录|全覆盖题库 + 逐点算法考点详解

题目描述

给定14张麻将牌,只包含三种花色:万(用1表示)、条(用2表示)、筒(用3表示),每种花色有1-9共9种点数。请判断这14张牌是否能组成基本胡牌型(4个面子 + 1对将牌)。

2026 华为OD机试真题 5.17华为OD上机新系统考试真题 100 分题型

胡牌规则:

  1. 面子:可以是以下两种之一:

i.顺子:同花色连续三张牌,例如:1万2万3万

ii.刻子:三张相同的牌,例如:5条5条5条

  1. 将牌:两张相同的牌

3.胡牌条件:14张牌正好组成4组面子 + 1组将牌

输入描述

第一行包含14个整数,表示每张牌的花色(1-3)

第二行包含14个整数,表示每张牌的点数(1-9)

输入保证:

  • 每张牌的花色和点数对应
  • 同一副牌中可能有多张相同的牌

输出描述

输出一行:

  • 如果能够组成基本胡牌型,返回胡牌组合的数量
  • 如果不能,返回0

示例1

输入

[1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2], [1, 2, 3, 4, 5, 6, 7, 8, 9, 1, 2, 3, 4, 4]

输出

1

说明

123456789万(3个顺子)

1234条(1个顺子)

44条(将牌)

总共4个顺子 + 1对将牌,满足胡牌条件。

示例2

输入

[1, 1, 1, 2, 2, 2, 3, 3, 3, 1, 1, 1, 2, 2], [1, 1, 1, 2, 2, 2, 3, 3, 3, 4, 5, 6, 4, 4]

输出

1

说明

111万(刻子)

222条(刻子)

333筒(刻子)

456万(顺子)

示例3

输入

[1, 1, 1, 1, 2, 2, 2, 3, 3, 3, 1, 1, 2, 3], [1, 2, 3, 4, 2, 3, 4, 2, 3, 4, 5, 6, 7, 8]

输出

0

说明

不能胡牌

解题思路

本题要求判断 14 张麻将牌是否能组成“基本胡牌型”(4个面子 + 1对将牌)。

  1. 牌的表示: - 共有 3 种花色,每种花色 1-9 点。我们可以用一个长度为 27 的数组来统计每种牌的数量(索引 $i = (花色-1) \times 9 + (点数-1)$)。

  2. 解题步骤: -统计频率:首先统计输入中 14 张牌的分布。 -枚举将牌:遍历 27 种牌,如果某种牌的数量 $\ge 2$,则可以尝试将其作为“将牌”(一对)。 -递归拆解面子:扣除将牌后,剩下 12 张牌需要拆解成 4 个“面子”(顺子或刻子)。

    • 使用回溯/深度优先搜索 (DFS)进行拆解。
    • 在搜索过程中,优先处理序号最小的牌。
    • 尝试拆成刻子:如果当前牌数量 $\ge 3$,扣除 3 张继续搜索。
    • 尝试拆成顺子:如果当前牌、下一张牌、下下张牌数量都 $\ge 1$,且它们属于同一花色,扣除 3 张继续搜索。
    • 记忆化搜索:由于拆解过程中会出现重复状态,使用记忆化(如 Python 的lru_cache或哈希表)来加速。
    • 计算结果:累加所有可能的胡牌组合数量。

复杂度分析

  • 时间复杂度:$O(27 \times S)$,其中 27 是枚举将牌的种类,$S$ 是拆解 12 张牌的面子时的状态数。由于只有 12 张牌,搜索空间非常小,实际运行速度极快。
  • 空间复杂度:$O(S)$,用于存储搜索过程中的
http://www.jsqmd.com/news/1294325/

相关文章:

  • 2026沈阳名包回收探店:易奢福全流程公开验包无隐形折价套路 - 易奢福
  • 终极macOS窗口管理神器:Rectangle让你的工作效率提升300%
  • Spring Boot 线程池关闭:destroyMethod 的作用与最佳实践
  • 树莓派4B部署YOLOv5模型:OpenVINO与NCS2加速全流程实践
  • 解决C#调用OpenCV时TypeInitializationException的完整指南
  • 2026 武汉中职招生报名时间|省代码 6054 榕霖分三批开学,名额有限 - 湖北升学规划
  • 青岛老旧小区屋面改造,楼长修楼兼顾防水性能与建筑风貌 - 青岛防水品牌推荐
  • A59P专业版:SPI动态调参与拾音距离自适应机制的实现分析
  • 2026 湖北PLC 培训机构哪家好:学费标准|武汉优质自动化工控机构就业率详解 - 学途指南
  • 计算机毕业设计之安卓客户端室内定位APP
  • 二分图算法精讲:从染色法判定到匈牙利算法实战
  • 2026 年武汉统招专升本培训机构怎么挑?全方位深度解读认准初阳教育 - Luckyone王
  • 2026年安徽合肥技师学院网上报名入口在哪?现场报名要带什么?咨询电话多少? - 最新资讯
  • HarmonyOS掌上记账APP开发实践第94篇:如何实现删除多选框选项功能
  • C++与OpenCV实现传统美颜算法:瘦脸、大眼与磨皮技术详解
  • A-59U双通道语音模块:USB免驱架构下的通道隔离与波束性能边界
  • 量子隐形传态:从量子纠缠到量子互联网的核心技术解析
  • 2026年安徽合肥技师学院是公办还是民办?毕业证国家承认吗?咨询电话多少? - 最新资讯
  • Solarflare网卡与OpenOnload部署实战:从驱动安装到性能调优
  • C/C++实现XZ-Ordering空间索引:原理、位交织与高性能优化
  • 山东涡街流量计制造厂家哪些比较好?
  • 2026漠河报团避坑全攻略|5大雷区+5条筛选铁律,实测10家机构,普通人闭眼选不踩雷 - 互联网科技品牌测评
  • 二七区奥迪德系专修宝顺奥迪德系专修申师傅店:车主维保调研解析 - 百航
  • 爱情背后的科学机制:从多巴胺到催产素的神经生物学解析
  • 蒸汽教育如何处理长期服务中的信息断层?
  • PDF-Lib 3层架构设计:构建跨平台JavaScript PDF处理引擎的实现指南
  • PyWxDump:逆向解析微信本地数据库,实现数据自主备份与智能迁移
  • 深圳AI智能体培训机构推荐 - 专业课程与就业前景深度解析
  • 2026 蒙自品质装修口碑榜单|美颂装饰,17 年本土深耕凭个性化设计与管家式服务稳居优选 - 推途云
  • 4步轻松搞定微信防撤回:RevokeMsgPatcher完整使用指南