华为OD机考2025B卷 - 数大雁(Java & Python& JS & C++ & C )

最新华为OD机试

真题目录:点击查看目录
华为OD面试真题精选:点击立即查看

2025华为od 机试2025B卷-华为机考OD2025年B卷

题目描述

一群大雁往南飞,给定一个字符串记录地面上的游客听到的大雁叫声,请给出叫声最少由几只大雁发出。

具体的:

​ 1.大雁发出的完整叫声为”quack“,因为有多只大雁同一时间嘎嘎作响,所以字符串中可能会混合多个”quack”。

​ 2.大雁会依次完整发出”quack”,即字符串中’q’ ,‘u’, ‘a’, ‘c’, ‘k’ 这5个字母按顺序完整存在才能计数为一只大雁。如果不完整或者没有按顺序则不予计数。

​ 3.如果字符串不是由’q’, ‘u’, ‘a’, ‘c’, ‘k’ 字符组合而成,或者没有找到一只大雁,请返回-1。

输入描述

一个字符串,包含大雁quack的叫声。1 <= 字符串长度 <= 1000,字符串中的字符只有’q’, ‘u’, ‘a’, ‘c’, ‘k’。

输出描述

大雁的数量

示例1

输入

quackquack

输出

1

说明

示例2

输入:

qaauucqcaa

输出:

-1

说明

示例3

输入:

quacqkuackquack

输出:

2

说明

示例4

输入:

qququaauqccauqkkcauqqkcauuqkcaaukccakkck

输出:

5

说明

示例5

输入:

quacqkuquacqkacuqkackuack

输出:

3

说明

解题思路

题目理解

这个题目要求根据地面上的游客听到的大雁叫声(由字符串表示),判断至少有几只大雁在发出叫声。题目假设大雁的完整叫声为“quack”,并且同一时间可能有多只大雁发出这样的叫声。

题目要求的关键点:

  1. 完整性:一个大雁的叫声必须按顺序完整地发出“quack”。这意味着字符串中的字符必须严格按照顺序出现:q -> u -> a -> c -> k。

### 华为OD B的相关信息与要求 华为OD B华为OD机考的重要组成部分,其设计旨在评估考生的编程能力、逻辑思维和问题解决能力。以下是关于B的具体信息与要求: #### 1. 考试内容概述 根据反馈,华为OD B的内容通常由往年真题(如A、B、C、D、E)与全新题目组成[^3]。具体比例大约为1道新题、2道旧题。这意味着考生可以通过熟悉过往真题来提高通过率。 #### 2. 题目类型 B中的题目类型多样,涵盖算法、据结构以及实际应用问题。例如: - **大雁**:这是一道典型的算法题,考察考生对字符串处理和学计算的能力[^2]。 - **出错的或电路 - 二进制**:该题涉及二进制的处理,要求考生理解比特交换操作及其影响[^4]。 #### 3. 技术栈支持 华为OD机考支持多种编程语言,包括但不限于C++JavaJavaScriptPython。考生可以根据自身熟悉的技术栈选择合适的语言进行作答。 #### 4. 时间与分值 B的总分为200分,考试时间有限,因此考生需要在保证正确率的同时提升解题速度。部分高分值题目可能达到100分,例如&ldquo;出错的或电路 - 二进制&rdquo;。 #### 5. 复习建议 由于B中包含大量旧题复用的情况,建议考生重点复习以下内容: - 过往真题(如A、B、C、D、E)。 - 常见算法与据结构(如排序、搜索、动态规划等)。 - 编程语言基础(如变量声明、控制流、函定义等)。 ```python # 示例代码:二进制比特交换模拟 def bit_swap(n, input1, input2): result = [] for i in range(n): if input1[i] == &#39;1&#39;: result.append(input2[i]) else: result.append(input1[i]) return &#39;&#39;.join(result) # 测试用例 n = 5 input1 = &quot;10101&quot; input2 = &quot;11001&quot; print(bit_swap(n, input1, input2)) # 输出:11001 ``` #### 6. 注意事项 - 确保代码逻辑清晰,避免冗余。 - 在提交前测试代码的边界条件。 - 如果时间允许,尽量优化算法的时间复杂度。 ---
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

算法大师

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

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

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

打赏作者

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

抵扣说明:

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

余额充值