华为嵌入式软件实习笔试1

《嵌入式软件开发笔试与面试手册》https://blog.nowcoder.net/zhuanlan/jvN8gj

《软件开发笔试汇总》https://blog.nowcoder.net/zhuanlan/0oDWVm

点赞&&评论mark超10,附上答案

1.云服务计费

编写一个程序为某云服务计算客户话单,输入为某云服务的计费日志和各种计费因子的计费单价的列表,计费日志内容包含时间戳、客户标识、计费因子、计费时长4个字段。日志中如果同一客户同一计费因子在相同时间戳上报多次话单只能计费一次,选先上报的日志计费。计算每个客户的话单总费用。

解答要求

时间限制: C/C++ 1000ms,其他语言: 2000ms内存限制: C/C++ 256MB,其他语言: 512MB

输入

1行表示计费日志的条数n,是一个正整数,范围是1<=n<=1000

2n+1行表示云服务的计费日志,共4列,第1列表示时间戳(是一个数字字符串,长度为10) 、第2列表示客户标识(是一个字符串,长度为1-16),第3列表示计费因子 (是一个字符串,长度为1-16,计费因子查不到时认为计费因子单价是0),第四列表示计费时长时长(范围为0-100,当计费时长不在范围内要认为是计费日志有问题,当成计费为0处理),这4个字段使用迈号分隔

n+2行表示计费因子的数量mm是一个正整数,范围是1<=m<=100

n+3n+3+m行表示各种计费因子的计费单价的列表,该表有2,1列表示计费因子 (是一个字符串,长度为1-16),第2列表示单价(是一个正整数,范围为1~100),这2个字段使用逗号分

输出

每个客户的话单总费用,2列,第1列表示客户名,第2列表示话单费用,2列用逗号分割,输出按客户标识字典序升序排序

样例

输入

5 1627845600,client1,factorA,10 1627845605,client2,factorB,15 1627845610,client1,factorA,5 1627845610,client1,factorB,8 1627845620,client2,factorB,20 2 factorA,5 factorB,7

输出

client1,131 client2245

2.相似图片分类

小明想要处理一批图片,将相似的图片分类。他首先对图片的特征采样,得到图片之间的相似度,然后按照以下规则判断图片是否可以归为一类:

1)相似度>0表示两张图片相似,

2)如果AB相似,BC相似,但AC不相似。那么认为AC间接相似,可以把ABC归为一类,但不计算AC的相似度

3)如果A和所有其他图片都不相似,则A自己归为一类,相似度为0.给定一个大小为NxN的矩阵M存储任意两张图片的相似度,M[i][j]即为第i个图片和第j个图片的相似度,请按照"从大到小的顺序返回每个相似类中所有图片的相似度之和。

解答要求

时间限制: C/C++ 1000ms,其他语言: 2000ms内存限制: C/C++ 256MB,其他语言: 512MB

输入

第一行一个数N,代表矩阵M中有N个图片,下面跟着N行,每行有N列数据,空格分隔(为了显示整弃,空格可能为多个) 代表N个图片之间的相似度。

约束: 1.0<N<=900 2.0<=M[i][j]<=100,输入保证M[i][i] =0,M[i][j]=M[j][i]

输出

每个相似类的相似度之和。格式为:一行数字,分隔符为1个空格。

样例

输入

5 0 0 50 0 0 0 0 0 25 0 50 0 0 0 15 0 25 0 0 0 0 0 15 0 0

输出

65 25

3.网络保卫战

公有云的某个region内,N个网络节点组网情况可以使用一个n* n的矩阵matrix表示,在这个组网图中,matrix[i][j] = p 时,表示用户在编号为 i的节点访问编号为j的节点时,必须在 i节点上具有>=p 的权限等级(p=0时表示无法通过第i节点访问j节点),如果用户成功访问了j节点,那么它在j节点上的权限等级调整为 P

exposed 为一个整数数组,表示暴露在公网上的网络节点的编号列表。某天扫描发现这批暴需在公网的节点存在被外部恶意攻击风险且该攻击会影响到可访问的其他节点,并可以持续传递进行攻击,被恶意攻击的节点从公网访问时,攻击者获得了ROOT 权限(权限等级为10,即最大值)

小李是一名网络安全工程师,为了在有限的时间内尽可能的减少故障带来的损失,需要立即将某个节点从公网"下线"

假设攻击结束时,被攻击过的节点数量为R,请帮小李计算出将哪个节点下线能使R尽可能小,如果答案有多个节点,返回索引最小的那个节点。

请注意:从公网下线的节点,不会受到来自公网的攻击,但仍然可能被可访问的其他节点传递攻击。

解答要求

时间限制: C/C++ 5000ms,其他语言: 10000ms内存限制: C/C++ 128MB,其他语言: 256MB

输入

输入的第一行是网络节点数量N 后续的N行,每行N个数字v,以空格分割,形成一个N*N的矩阵,表示网络节点组网的矩阵。 最后一行,输入 exposed 数组,表示暴露在公网上的网络节点的编号列表,数组元素不会重复。 输入范围说明: 2<=n<=24 0<=v<=10 0<=exposed[i]<=n-1

输出

输出在 exposed 数组中,计划"下线的那个节点的编号。

样例1

输入

4 1 0 0 0 0 1 2 0 0 1 1 4 0 0 3 1 1 3

输出

3

#华为##嵌入式##软件##实习##笔试#

本专栏主要发布2024年嵌入式软件开发相关岗位笔试真题(嵌入式软件开发、通用软件开发、C/C++软件开发、算法工程师、测试开发等)主要是算法编程题,其中一些岗位笔试含有对应的选择题、填空题、简单题。

全部评论
mark
点赞 回复
分享
发布于 04-21 11:47 广东
感谢分享
点赞 回复
分享
发布于 04-22 19:13 广东
联易融
校招火热招聘中
官网直投
mark
点赞 回复
分享
发布于 04-23 13:04 上海

相关推荐

4 8 评论
分享
牛客网
牛客企业服务