news 2026/7/21 0:50:32

4.29华为OD机试真题 新系统 - 获取大写字母瓷砖拼出独特图案数量 (JavaPyCC++JsGo)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
4.29华为OD机试真题 新系统 - 获取大写字母瓷砖拼出独特图案数量 (JavaPyCC++JsGo)

获取大写字母瓷砖拼出独特图案数量

2026 华为OD机试真题 4月29日华为OD上机新系统考试真题 200 分题型

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

题目描述

在一个创意设计工坊中,设计师希望用不同的大写字母瓷砖拼出独特图案,给定一个只包含大写英文字母的图案字符串 LL,要求你给出对 LL重新排列的所有不相同的图案,但是有以下约束条件:

  1. 相同的字母不能相邻

2026 华为OD机试真题 4月29日华为OD上机新系统考试真题 200 分题型

输入描述

  • 输入一个长度不超过 1212 的字符串 LL,确保都是大写的

输出描述

  • 输出满足约束条件的L重新排列的所有不相同的排列数

示例1

输入

"AAB"

输出

1

说明

只有"ABAABA"满足条件

示例2

输入

""

输出

1

说明

空也是符合没有相邻的要求

示例3

输入

"AA"

输出

0

说明

AA是相邻的,所以没有满足条件的

解题思路

核心思想

本题要求计算一个给定大写字母字符串的所有不重复全排列数,约束条件是:相同的字母不能相邻

  1. 全排列问题:这是一个典型的排列组合问题,可以使用回溯算法(DFS)来搜索所有可能的排列。
  2. 去重处理:由于输入的字符串中可能包含重复的字母(如 "AAB"),为了避免统计重复的排列,我们需要: - 对输入字符串进行排序,使得相同的字符相邻。 - 在回溯过程中,如果当前字符与前一个字符相同,且前一个字符在当前层级还未被使用过,则跳过当前字符(剪枝)。
  3. 相邻约束:在回溯过程中,维护一个变量lastChar记录上一个放置的字符。如果当前尝试放置的字符与lastChar相同,则不符合条件,跳过。
  4. 特殊情况:题目说明空字符串也符合要求(不相邻),应返回 1。

复杂度分析

  • 时间复杂度:$O(N! \cdot N)$,其中 $N$ 是字符串长度(最大为 12)。最坏情况下(所有字符互不相同)全排列数为 $N!$。由于 $12! = 479,001,600$,在带有强力剪枝(相邻约束和字符去重)的情况下,实际搜索空间会大大减小。
  • 空间复杂度:$O(N)$,用于递归调用的深度以及存储字符数组和标记
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/21 0:37:34

半导体批次追溯与良率分析:MES系统实战全流程

一、问题背景 在半导体晶圆制造中,批次(Lot)是贯穿整个FAB生产的核心管理单元。每一张晶圆的诞生,都离不开批次在扩散、光刻、刻蚀、离子注入等数十道工序间的有序流转。一旦某道工序出现异物污染、工艺参数漂移或设备异常&#…

作者头像 李华
网站建设 2026/7/21 0:36:38

《第二章 docker容器镜像》内容详细总结

文章目录 《第二章 docker容器镜像》内容详细总结 一、学习目标 二、容器镜像核心介绍 1. 镜像与容器的运行逻辑 2. 镜像与容器的定义及区别 3. 底层技术:联合文件系统(UnionFS) 三、Docker容器管理常用命令 1. 基础帮助命令 2. 镜像下载与本地导入导出 3. 容器生命周期管理…

作者头像 李华
网站建设 2026/7/21 0:28:50

DeFi + AI 融合趋势:2026 智能 DeFi 协议的技术演进与投资逻辑变化

DeFi AI 融合趋势:2026 智能 DeFi 协议的技术演进与投资逻辑变化 一、融合正在发生,但不在大多数人想象的地方 2026 年上半年,DeFi 与 AI 的融合已经从概念炒作进入工程落地阶段。与 2024-2025 年大量"AI Crypto"叙事代币不同&am…

作者头像 李华
网站建设 2026/7/21 0:28:31

C#中的抽象类与抽象方法

抽象类是指加了abstract字段修饰的类,其无法被实例化,但可以利用里氏替换原则作为容器去装载子类对象,抽象类里面可以额外地去写抽象方法。抽象方法是指在方法前有abstract修饰的方法,此类方法仅能写在抽象类中,且不允…

作者头像 李华
网站建设 2026/7/21 0:27:12

系统规划与管理师-IT 团队人员留存核心机制

一、引言核心概念定义人员留存与成长管理是项目人力资源管理的核心模块,指组织通过薪酬激励、职业发展通道建设等机制,降低核心人员流失率,提升员工能力与组织绩效匹配度的系统性管理活动。其中薪酬管理是通过价值分配传递组织价值导向的激励…

作者头像 李华