惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

G
Google Developers Blog
博客园 - 聂微东
J
Java Code Geeks
Engineering at Meta
Engineering at Meta
Jina AI
Jina AI
D
Docker
B
Blog
S
SegmentFault 最新的问题
宝玉的分享
宝玉的分享
D
DataBreaches.Net
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Y
Y Combinator Blog
N
Netflix TechBlog - Medium
月光博客
月光博客
F
Fortinet All Blogs
爱范儿
爱范儿
H
Help Net Security
腾讯CDC
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
WordPress大学
WordPress大学
The Cloudflare Blog
有赞技术团队
有赞技术团队
T
Tailwind CSS Blog
U
Unit 42

魔改工程师

获取大写字母瓷砖拼出独特图案数量 - 魔改工程师 日志文件异常检测 - 魔改工程师 **操作历史管理器的撤销/重做能力** - 魔改工程师 项目模块依赖构建顺序规划 - 魔改工程师 端口流量统计 - 魔改工程师 最大化游戏试玩资格分发 - 魔改工程师 前言 - 魔改工程师 前言 - 魔改工程师 前言 - 魔改工程师 前言 - 魔改工程师 前言 - 魔改工程师 YOLO26改进 – 特征融合 重参数化CSPELAN模块(Reparameterized CSPELAN Module)通过结构重参数化实现高效特征提取 YOLO26改进 – 特征融合 融合Hyper-YOLO混合聚合网络MANet(Mixed Aggregation Network)通过多路径设计实现高效特征学习与模型适应性提升 YOLO26改进 – 特征融合 RepGFPN重参数化特征金字塔网络 ,实现高效多尺度特征交互与融合 YOLO26改进 – 特征融合 EFC增强层间特征相关性,通过多尺度特征交互减少冗余信息丢失即插即用 - 魔改工程师 YOLO26改进 – 注意力机制 融合HCF-Net维度感知选择性整合模块DASI 增强小目标显著性 前言 - 魔改工程师 YOLO26 改进 – 注意力机制 HaloNet 局部自注意力 (Local Self-Attention) 以分块交互策略实现高效全局上下文建模 YOLO26 改进 – 注意力机制 DiffAttention差分注意力:轻量级差分计算实现高效特征降噪,提升模型抗干扰能力 TMLR 2025 前言 - 魔改工程师 YOLO26 改进 – 注意力机制 CAFM (Convolutional Block Attention Module) 卷积块注意力模块:轻量级设计优化特征提取流程,提升小目标感知 YOLO26 改进 – 注意力机制 ACmix自注意力与卷积混合模型:轻量级设计融合双机制优势,实现高效特征提取与推理加速 前言 - 魔改工程师 前言 - 魔改工程师 前言 - 魔改工程师 2026最新YOLO26改进:卷积层、轻量化、注意力机制、损失函数、Backbone、SPPF、Neck、检测头全方位优化汇总 - 魔改工程师 前言 - 魔改工程师 YOLO26改进 – SPPF模块 替代SPPF,FFocal Modulation焦点调制:即插即用轻量设计优化全局语义捕获 前言 - 魔改工程师 YOLO26改进 – SPPF模块 发论文神器!LSKA注意力改进SPPF,增强多尺度特征提取能力,高效涨点!!! - 魔改工程师
麻将基本胡牌型判断 - 魔改工程师
魔改工程师 · 2026-05-20 · via 魔改工程师

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

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

题目描述

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

胡牌规则:

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

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

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

  2. 将牌:两张相同的牌

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)$,用于存储搜索过程中的状态。