2024 年华为机考最新模拟题

【华为OD机试】真题B卷-模拟工作队列(JAVA) 阅读详情

2024 年华为机考最新模拟题

ACM 环境,没有提示,甚至头文件都要自己加。

题目1:Words

描述:
每个句子由多个单词组成,句子中的每个单词的长度都可能不一样,假设每个单词的长度 Ni 为该单词的重量,你需要做的就是给出整个句子的平均重量 V。

输入:
输入只有一行,包含一个字符串S(长度不会超过100),代表整个句子,句子中只包含大小写的英文字母,每个单词之间有一个空格。

输出:
输出句子 S 的平均重量 V(四舍五入保留两位小数)

代码:

#include <iostream>
#include <string>
#include <sstream>
// we have defined the necessary header files here for this problem.
// If additional header files are needed in your program, please import here.
using namespace std;
int main()
{
    // please define the C++ input here. For example: int a,b; cin>>a>>b;;
    // please finish the function body here.
    // please define the C++ output here. For example:cout<<____<<endl;
    string input;
    getline(cin, input);
    stringstream ss(input);
    string word;
    int sum = 0, cnt = 0;
    while(ss >> word)
    {
        sum += word.length();
        cnt++;
    }
    printf("%.2lf\n", (double)sum/cnt);

    return 0;
}

结果:

在这里插入图片描述

题目2:Vowel

描述:
solo 从小就对英文字母非常感兴趣,尤其是元音字母(a,e,i,o,u,A,E,I,O,U),他在写日记的时候都会把元音字母写成大写的,辅音字母则都写成小写,虽然别人看起来很别扭,但是 solo 却非常熟练。你试试把一个句子翻译成 solo 写日记的习惯吧。

输入:
输入一个字符串S(长度不会超过100,只包含大小写的英文字母和空格)。

输出:
按照 solo 写日记的习惯输出翻译后的字符串 S 。

代码:

#include <iostream>
#include <string>

using namespace std;

bool isvowel(char &c)
{
    if(c == 'a' || c == 'A')
        return true;
     if(c == 'e' || c == 'E')
        return true;
    if(c == 'i' || c == 'I')
        return true;
    if(c == 'o' || c == 'O')
        return true;
    if(c == 'u' || c == 'U')
        return true;
    return false;
}
// we have defined the necessary header files here FOR this problem.
// IF additional header files are needed IN your program, please IMPORT here.
int main()
{
    string input;
    getline(cin, input);
    for(char &c:input)
    {
        if(isvowel(c))
	        c = toupper(c);
        else
            c = tolower(c);
    }
    cout<< input <<endl;
    // please define the C input here. FOR EXAMPLE: int n; scanf("%d",&n);
    // please finish the FUNCTION body here.
    // please define the C output here. FOR EXAMPLE: printf("%d",a);
    return 0;
}

结果:

在这里插入图片描述

题目3:计算字符串重新排列数

描述:
给定一个只包含大写英文字母的字符串 S,要求给出对 S 重新排列的所有不相同的排列数。
如:S 为 ABA,则不同的排列有 ABA、AAB、BAA 三种。

输入:
输入一个长度不超过10的字符串S,我们确保都是大写的。

输出:
输出S重新排列的所有不相同的排列数(包含自己本身)

代码 1:

#include <iostream>
#include <string>
#include <unordered_map>

using namespace std;

// 计算阶乘
int factorial(int n) {
    if (n == 0 || n == 1) {
        return 1;
    } else {
        return n * factorial(n - 1);
    }
}

// 计算不同排列数
int countUniquePermutations(string S) {
    // 使用哈希表存储每个字符的出现次数
    unordered_map<char, int> freq;
    for (char ch : S) {
        freq[ch]++;
    }

    // 计算总排列数
    int totalPermutations = factorial(S.length());

    // 对重复字符的排列数进行调整
    for (auto& p : freq) {
        if (p.second > 1) {
            totalPermutations /= factorial(p.second);
        }
    }

    return totalPermutations;
}
// we have defined the necessary header files here FOR this problem.
// IF additional header files are needed IN your program, please IMPORT here.
int main()
{
    string s;
    cin>>s;
    cout<<countUniquePermutations(s)<<endl;
    // please define the C input here. FOR EXAMPLE: int n; scanf("%d",&n);
    // please finish the FUNCTION body here.
    // please define the C output here. FOR EXAMPLE: printf("%d",a);
    return 0;
}

代码 2:

#include <iostream>
#include <string>
#include <vector>
#include <algorithm>
using namespace std;

vector<bool> visited;
// we have defined the necessary header files here for this problem.
// If additional header files are needed in your program, please import here.
// 辅函数
void backtrack(string &input, int level, vector<string> &ans, string &seq)
{
	if (level == input.size())
	{
		ans.emplace_back(seq);
		return;
	}
	for (size_t i = 0; i < input.size(); i++)
	{
		if (visited[i] || (i > 0 && input[i] == input[i - 1] && !visited[i - 1]))
		{
			continue;
		}
		seq.push_back(input[i]);
		visited[i] = true;
		backtrack(input, level + 1, ans, seq);
		visited[i] = false;
		seq.pop_back();
	}
}

int main()
{
	string input;
	cin >> input;

	vector<string> ans;
	string seq;
	visited = vector<bool>(input.size(), false);
	sort(input.begin(), input.end());
	backtrack(input, 0, ans, seq);
	cout << ans.size() << endl;
	return 0;
}

结果:

在这里插入图片描述

2025华为OD机试真题最新题库 (B+C+D+E+2025A+2025B卷) + 在线OJ在线刷题使用(C++、Java、Python C语言 JS合集)(正在更新2025B卷,目前已收录710道) 2024年,华为目前已经启用D卷,目前D卷和C卷的题目一样一次订阅永久阅读,支持在线刷题,持续更新,有问题随时解答,本专栏题目数量已收录到484道。每篇文章的思路分析都非常详细,题目新增图解思路,问题解疑,多样例测试,超过百字的思路参考解析。 阅读详情

相关推荐

华为OD机试D卷C卷 - 模拟目录管理功能(C++ Java JavaScript Python)

实现一个模拟目录管理功能的软件,输入一个命令序列,输出最后一条命令运行结果。

算法大师! 3506

华为OD 机考在线练习和考试指南

的代码补全功能并不强大,很多提示无法得出,请勿过分依赖于代码补全功能,应早做 准备,熟记字符串及数组等常用方法名称,例如 jdk1.8。看完在线机考练习和考试指南,后面有机考练习的 具体题型和题库,最后有个模拟套卷练习,可全部 练习完成后,在做套卷练习下。,保持正常编码习惯即可,遇到无法提示又无把握的实现时,改用其他方式代替。,否则答案不做保存,调试完成点击【提交本题型】按钮,最后交卷。)中显现,此处建议,编码当达到一定量后做代码自测,以免因无代。所需要的包,代码工具无法自动提示相关类的引入,代码补全及。

qq_56027213的博客 5736

2025华为OD机试题库目录【E卷+A卷+B卷+C卷+D卷】(JAVA、Python、C++、JS)

1:进入机考网页之后,如果链接上写着【2023.Q1 A卷】,就表示是2023年的Q1题库(4:订阅专栏后,后面更新的答案都可以查看。以后更新的题目也会放到这个专栏里。,如果时间紧迫,建议直接刷2023年新题。5:如果对题解有问题,私信我解答。2:2022年的题库。

AlgorithmHero的博客 2万+

【华为机考】模拟题:Words、Vowel、计算字符串重新排列数

模拟题:Words(句子的平均重量)、Vowel(元辅音大小写转换)、计算字符串重新排列数(字符串的全排列)--【100分简单题】,Scanner 输入模板总结。

汤姆lazy的优快云博客 1934

【华为OD机试模拟题】用 C++ 实现 - 异常的打卡记录(2023.Q1)

异常的打卡记录第一条记录是异常的,因为第二条记录与它的间隔不超过 60 分钟但是打卡距离超过了 5km,同理第二条记录也是异常的。为了正确地计算职工工资和监督工资基金使用情况,公司决定对员工的手机打卡记录进行异常排查。参加华为od机试,一定要注意不要完全背诵代码,需要理解之后模仿写出,通过率才会高。考勤记录是分析和考核职工工作时间利用情况的原始依据,也是计算职工工资的原始依据,第二条记录的注册设备号与打卡设备号不一致,所以是异常记录。之后的 N 行为打卡记录,每一行为一条打卡记录。无异常打卡记录,所以返回。

梦想橡皮擦,专栏100例写作模式先行者,现象级专栏 《Python 爬虫 100 例》作者、《滚雪球学 Python 专栏》原创者 3444

华为od机考 Python 目录【E卷+A卷+B卷+C卷+D卷】

1:进入机考网页之后如果链接上写着【B卷】,就表示是B卷题库(**对应着目录中的时间这一列 2023Q2**)。在之后,大多数同学收到的应该是B卷题库。2:2022年的题库,如果时间紧迫,建议直接刷2023年新题。3:如果机试挂了,6个月之后可以再考。4:订阅专栏后,后面更新的答案都可以查看。以后更新的题目也会放到这个专栏里。5:如果对题解有问题,私信我解答。

wtswts1232的博客 2万+

华为OD机试真题【模拟商场优惠打折】

每人每次只能用两种优惠券,并且同一种优惠券必须一次用完,不能跟别的穿插使用(比如用一张满减,再用一张打折,再用一张满减,这种顺序不行)。满减券:满100减10,满200减20,满300减30,满400减40,以此类推不限制使用;第一行三个数字m,n,k,分别表示每个人可以使用的满减券、打折券和无门槛券的数量;第一行三个数字m,n,k,分别表示每个人可以使用的满减券、打折券和无门槛券的数量。模拟商场优惠打折,有三种优惠券可以用,满减券、打折券和无门槛券。输出每个人使用券之后的最低价格和对应使用优惠券的数量。

weixin_43763430的博客 915

来了来了,华为机试真题模拟赛~

重磅!!为了回应粉丝们模拟真实考试,锻炼实战能力的诉求,我们即将推出真题实战模拟热身赛,现诚邀大家于4.10晚来到我们OJ的竞赛专区,完全公开免费,19:00准时开始,持续两小时。

m0_73659489的博客 819

Python笔试题:每个句子由多个单词组成,句子中的每个单词【杭州多测师】【杭州多测师_王sir】...

多测师_王sir的博客 1787

机试真题目录

**2024年8月份,华为官方已经将华为OD机考:OD统一考试(D卷)切换到 OD统一考试(E卷)** 。从参加过华为OD笔试的朋友来看,**E卷的新题非常少,大部分是A,B,C,D卷的合并题库。** 另一方面据考生反应需要双机位,也就是在牛客小程序中一直点确认,最后一步需要调试并开启您的摄像头。

m0_73659489的博客 5万+

2023华为OD机试真题【机房布局/模拟】

为了简化题目,假设这个机房是一整排,M表示机柜,I表示间隔,请你返回这整排机房,至少需要多少个电箱。如果无解请返回-1。小明正在规划一个大型数据中心机房,为了使得机柜上的机器都能正常满负荷工作,需要确保在每个机柜边上至少要有一个电箱。输出一个整数,表示整排机房至少需要多少个电箱。第一行输入一个字符串,由 M 和 I 组成,表示机房的组成样式。2.如果左侧或右侧有间隔,增加一个电箱,并适当跳过一些字符。3.如果机柜两侧都没有间隔,说明无解,跳出循环。4.如果当前字符不是机柜,继续遍历下一个字符。

wtswts1232的博客 606

如何备考华为OD机试?如何刷题以取得高分?常考的算法类型?

华为OD机试通常指的是华为在线开发(Onsite Development)机试,是华为公司招聘过程中的一项技术测试,主要针对求职者的编程能力和技术水平进行评估。这种机试通常包括编程题和技术题,目的是测试应聘者在实际工作中遇到问题时的解决能力。

学Java,找哪吒 5849

华为OD机试 新系统 双机位C卷 往年真题 机考题库(持续收录中)以及算法考点详解

每一题都有详细的答题思路、详细的代码注释、样例测试,发现新题目,随时更新,全天优快云在线答疑。

学Java,找哪吒 7万+

2025华为OD机试备考攻略以及最新题库目录分值说明 + 考点说明

目前正在考的是A卷,按照华为OD往常的操作,A卷题目是由往年真题(E卷/A卷/B卷/C卷/D卷)+全新题目组成,也就是说2025A卷还会考到A卷、B卷、C卷、D卷、E卷的题目,比例大概是1道新题、2道旧题的样子。4、 编码工具删除行 ctrl+d依旧可以使用,ctrl+c,+v ,+z 等均可正常使用,其他快捷键建议尽量莫用,尤其是有保存习惯的同学,不要用ctrl+s,否则会打开页面保存键,算弹出当前页面一次。很多考过的小伙伴,总结了宝贵的经验,多刷题,先易后难,前期积累自信,后期逐一突破,效果最佳。

学Java,找哪吒 1228

华为od机考题库目录(C++)【E卷+A卷+B卷+C卷+D卷】

1:进入机考网页之后如果链接上写着【B卷】,就表示是B卷题库(**对应着目录中的时间这一列 2023Q2**)。在之后,大多数同学收到的应该是B卷题库。2:2022年的题库,如果时间紧迫,建议直接刷2023年新题。3:如果机试挂了,6个月之后可以再考。4:订阅专栏后,后面更新的答案都可以查看。以后更新的题目也会放到这个专栏里。5:如果对题解有问题,私信我解答。

wtswts1232的博客 1万+

ESP32-S3 SPI驱动SD卡与FATFS文件系统实践

SPI(串行外设接口)是嵌入式系统中常用的同步串行通信协议,通过主从架构实现全双工通信。其工作原理基于时钟同步和数据线传输,具有接线简单、占用引脚少的优势。在存储扩展场景中,SPI模式可驱动SD卡实现大容量数据存储,配合FATFS文件系统可提供标准化的文件管理能力。ESP32-S3作为乐鑫推出的高性能Wi-Fi/蓝牙双模芯片,其SPI外设支持高达80MHz时钟频率,结合ESP-IDF提供的sdspi_host驱动,开发者能快速实现SD卡存储方案。该技术广泛应用于物联网设备日志存储、传感器数据采集等场景,本实

weixin_29168393的博客 357

HWOD:单词的平均长度

每个句子由多个单词组成,句子中的每个单词的长度可能不一样,我假设每个单词的长度Ni为该单词的重量,你需要做的就是给出整个句子的平均重量输入只有一行,包含一个字符串s(长度不会超过100),代表整个句子,句子中只包含大小写的英文字母,每个单词之间有一个空格输出句子的平均重量(四舍五入保留两位小数)

zhg2546179328的博客 368

EtherCAT应用层协议选型指南:CoE、SoE、EoE、FoE、AoE到底怎么选?看完这篇就懂了

本文深入解析EtherCAT应用层协议(CoE、SoE、EoE、FoE、AoE)的选型策略,从实时性、数据吞吐量和功能完整性三大核心指标出发,提供工业场景下的实战决策框架。通过技术特性对比、混合协议架构设计和常见故障规避指南,帮助工程师优化自动化设备通信性能。

weixin_28718793的博客 495

2. 二叉树结点的共同祖先问题

【问题描述】假设二叉树采用二叉链表方式存储,root指向根结点,p所指结点和q所指结点为二叉树中的两个不同结点,且互不成为根到该结点的路径上的点,编程求解距离它们最近的共同祖先。 【输入形式】二叉树的前序和中序遍历序列,用以创建该二叉树的链式存储结构;以及二叉树的两个结点数据 x 和 y 【输出形式】结点数据值为 x 和结点数据值为 y 的最近的共同祖先,若没有共同祖先则输出NULL,请注意一个结点本身不能成为另一个结点的共同祖先。 【样例输入】 GABDCEF BDAEFCG DF 【样例输

m0_63168183的博客 1215

滚动轴承振动信号特征解析与故障诊断模型构建

本文深入解析了滚动轴承振动信号的三大来源与特征,并详细阐述了从时域、频域到时频域的特征提取方法。通过构建基于机器学习(如随机森林、SVM)或深度学习的故障诊断模型,结合实战代码示例,为设备维护工程师提供了一套从信号分析到智能诊断的完整解决方案,旨在实现精准的故障识别与预测性维护。

qsc901234567的博客 368

网络安全学习路线是怎样的?

为什么要学习安全? 近几年网络安全事件层出不穷,相信大家哪怕没遇到过,但也听过不少了吧。如服务器遭受入侵被黑,用户帐号被盗;被钓鱼、勒索病毒等,这些一旦发生,对企业而言都是不小的打击。因此,网络安全不容忽视,同时随着时代的不断发展,公司对于运维及网络工程师要求也越来越严格。未来越来越吃香的一定是技能方向广的复合型人才。网络安全可以说是一条非常好的发展道路。 今年两会期间,全国政协委员,360集团创始人、董事长周鸿祎提交了关于网络安全行业特殊人才的提案,为广大白帽子人员争取更好...

网安技术分享 8704

华为机考模拟题

// we have defined the necessary header files here for this problem. // If additional header files are needed in your program, please import here. int main() { // please define the C++ input here. For example: int a,b; cin>>a>>b;; ...

seek97的博客 1834

2026开源API网关横评:微服务与AI流量治理如何选型

API网关作为微服务架构的流量入口,承担着路由转发、安全管控、限流熔断等核心职责,是分布式系统治理的基础设施。随着大模型应用的普及,AI流量对网关提出了新的要求,如流式响应支持、Token级限流、多模型路由和成本分账等能力。传统网关通过插件拼凑AI功能,而AI原生网关则将这些能力内建。面对众多开源方案,如何根据业务场景做出合理选型?本文对Kong、APISIX、Higress、Envoy Gateway、MAI Gateway等主流开源API网关进行横向评测,从性能、动态性、K8s集成度、AI流量治理等维度

weixin_34242819的博客 482
上一篇: 面试算法题精讲:最长回文子序列
下一篇: Leetcode 第 128 场双周赛题解
UestcXiye
博客等级 码龄8年 9031粉丝 1306原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

打赏作者

UestcXiye

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

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

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

打赏作者

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

抵扣说明:

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

余额充值