【2023C卷最新题目】20天拿下华为OD笔试之【哈希表】2023C-掌握单词个数-全网注释最详细分类最全的华为OD真题题解

题目描述与示例

题目描述

有一个字符串数组 words 和一个字符串 chars

假如可以用 chars 中的字母拼写出 words 中的某个“单词”(字符串),那么我们就认为你掌握了这个单词。

words 的字符仅由 a-z 英文小写字母组成,例如 “abc” charsa-z 英文小写字母和 “?” 组成。其中英文问号 “?” 表示万能字符,能够在拼写时当做任意一个英文字母。例如:“?” 可以当做 “a” 等字母。

注意:每次拼写时,chars 中的每个字母和万能字符都只能使用一次。

输出词汇表 words 中你掌握的所有单词的个数。没有掌握任何单词,则输出 0

输入描述

1 行输入数组 words 的个数,记为 N。 从第

<think>好的,用户问的是华为OD E的数字游戏题目是什么。我需要先回想一下华为OD的考试内容。华为OD(Online Developer)的机考通常会有编程题,分为不同的别,比如A、B、C等等,而E可能是其中一种。题目可能涉及算法数据结构,数字游戏类题目常见的有数位分解、数学规律、动态规划等。 不过,用户提到的具体题目名称是“数字游戏”,我需要确认这个题目的具体内容。由于华为OD题目可能不公开,网上可能有考生回忆的版本。比如,搜索一下华为OD E数字游戏题,看看有没有相关信息。 假设找到的信息是,题目描述可能类似于:给定一个数字,进行一系列操作,比如将数字拆分为各个位数上的数字,然后进行某种运算,直到满足某个条件为止。例如,计算变成1的次数,或者寻找满足特定条件的数。 例如,可能的题目是:将一个数的各位数字平方后相加,得到新数,重复这个过程,直到变为1,或者进入循环。判断给定的数是否为快乐数。但快乐数题目比较常见,可能出现在其他考试中,不确定是不是华为OD题目。 另外,可能的题目是数字拆分后按某种规则重新排列,比如小数之差作为新数,直到得到特定结果,如6174(Kaprekar常数)。这种题目也可能出现。 或者,题目可能涉及数字的某种游戏规则,比如两个玩家轮流操作,每次减去一个数位上的数字,无法操作者输,判断先手是否必胜。这种博弈题也有可能。 如果用户提到的E题目具体内容不确定,可能需要更详细的提示。但根据常见的华为OD题目,比如2023年的某个例子,可能有这样的题目题目描述:小明在玩一个数字游戏,规则如下:给定一个数字n,将其各位数字的平方相加得到下一个数,重复这个过程,直到这个数变成1。如果终能得到1,则返回True,否则返回False。如果是快乐数就返回快乐数的个数,或者相关的结果。 但可能具体题目会有不同的变种,例如可能需要统计在某个范围内的快乐数数量,或者判断进入循环的情况。 不过,由于华为OD题目可能变化,且具体内容可能因考试批次不同而不同,用户可能需要更具体的信息。或者,如果用户指的是某次特定的考试题目,可能需要考生回忆的版本。 另一种可能是,题目类似于“数字变换游戏”,例如,给定两个数,通过一系列变换操作(如加减某个数位值),计算从起始数到目标数的少步骤。 假设无法获取具体的题目内容,可能需要给出一个常见的类似题目结构,并说明华为OD可能的题型,同时建议用户参考其他资源或提供更多线索。 总结来说,用户可能需要的是某个具体的题目描述,但由于题目可能不公开,我需要根据常见的数字游戏类题目给出一个可能的例子,并说明具体情况可能因考试而异,同时建议确认题目来源或提供更多细节。</think>华为OD(Online Developer)机考中的题目通常涉及算法与数据结构应用,且不同场次的题目可能存在差异。关于“数字游戏”类题目,根据过往题型及常见考点,以下是一个可能的题目描述(仅供参考,实际内容以考试为准): --- ### **题目示例:数字变换游戏** **问题描述** 给定一个正整数 `n`,按以下规则反复操作: 1. 将 `n` 的每一位数字平方后相加,得到新数; 2. 用新数重复步骤1,直到得到 `1` 或进入无限循环。 若能终变为 `1`,则称 `n` 为“快乐数”。请编写程序,判断给定数字是否为快乐数,并返回判定结果。 **输入** 一个正整数 `n`(1 ≤ n ≤ 10^6)。 **输出** 若是快乐数,返回 `true`;否则返回 `false`。 **示例** 输入:`19` 输出:`true` 解释: 19 → 1² + 9² = 82 → 8² + 2² = 68 → 6² + 8² = 100 → 1² + 0² + 0² = 1 --- ### **常见考点** 1. **循环检测**:需判断是否进入无限循环(如通过哈希表记录出现过的数)。 2. **数位分解**:分解数字的每一位并计算平方。 3. **数学优化**:利用数学规律减少计算量(如发现循环条件)。 --- ### **类似题型扩展** 华为OD题目可能涉及的其他数字游戏变种: - **Kaprekar常数(6174)**:通过重组数字小值差逼近6174。 - **数位操作博弈**:轮流减去某位数字,判断先手必胜策略。 - **特定变换规则**:如奇偶位操作、质数分解等。 --- ### **注意事项** - 实际考试题目可能要求统计范围内满足条件的数字个数,或输出具体变换步骤。 - 建议通过练习**LeetCode 202(快乐数)**等类似题目进行准备。 如果需要更具体的题目还原或解题思路,建议参考考生回忆帖或官方模拟题库。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

闭着眼睛学算法

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

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

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

打赏作者

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

抵扣说明:

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

余额充值