【2023秋招】10月16日华为od三道题

2023大厂真题提交网址(含题解):

www.CodeFun2000.com(http://101.43.147.120/)

最近我们一直在将收集到的机试真题制作数据并搬运到自己的OJ上,供大家免费练习,体会真题难度。现在OJ已录入50+道2023年最新大厂真题,同时在不断的更新。同时,可以关注"塔子哥学算法"公众号获得每道题的题解。
在这里插入图片描述

完整真题解析:【2023秋招】10月16日华为od三道题及满分题解

第一题:字符串变换最小字符串

题目内容

输入 N N N 个互不相同的二维整数坐标, 求这 N N N 个坐标可以构成的正方形数量。(内积为零的两个向量重直)

输入描述

第一行输入为 N N N , N N N 代表坐标数量, N N N为正整数。 N ≤ 100 N \leq 100 N100
之后的 K K K 行输入为坐标 x   y x\ y x y 以空格分隔, x x x y y y 为整数, − 10 ≤ x , y ≤ 10 -10 \leq x, y \leq 10 10x,y10

输出描述

输出可以构成的正方形数量

样例

样例一:

输入

4
0 0
1 2
3 1
2 -1

输出

1

第二题:内存分配

题目内容

有一个简易内存池,内存按照大小粒度分类,每个粒度有若干个可用内存资源,用户会进行一系列内存申请, 需要按需分配内存池中的资源,返回申请结果成功失败列表。分配规则如下:
1、分配的内存要大于等于内存申请量,存在满足需求的内存就必须分配,优先分配粒度小的,但内存不能拆分使用。
2、需要按申请顺序分配,先申请的先分配。
3、有可用内存分配则申请结果为 t r u e true true ,没有可用内存分配则返回 f a l s e false false
注:不考虑内存释放。

输入描述

输入为两行字符串:
第一行为内存池资源列表。包含内存粒度数据信息。粒度数据间用逗号分割,一个 粒度信息内部用冒号分割,冒号前为内存粒度大小,冒号后为数量。资源列表不大于1024,每个粒度的数量不大于4096
第二行为申请列表,申请的内大小间用逗号分隔。 中请列表不大于100000

输出描述

输出为内存池分配结果。

样例

输入

64:2,128:1,32:4,1:128
50,36,64,128,127

输出

true,true,true,false,false

样例解释

内存池资源包含: 64 K 64K 64K 2 2 2 个、 128 K 128K 128K 1 1 1 个、 32 K 32K 32K 4 4 4 个、 1 K 1K 1K 128 128 128 个的内存资源:
针对 50 , 36 , 64 , 128 , 127 50,36,64,128,127 50,36,64,128,127 的内存申请序列,分配的内
存依次是: 64 , 64 , 128 , N U L L , N U L L 64, 64, 128, NULL,NULL 64,64,128,NULL,NULL ,第三次申请内存
时已经将 128 128 128 分配出去,所以是 N U L L NULL NULL

第三题:最长完全连续交替方波

题目内容

输入一串方波信号,求取最长的完全连续交替方波信号,并将其输出,如果有相同长度的交替方波信号,输出任一即可, 方波信号高位用 1 1 1 标识,低位用 0 0 0 标识。

说明:
1)一个完整的信号定以 0 0 0 开始然后以 0 0 0 结尾, 即 010 010 010 是一个完整信号,但 101 , 1010 , 0101 101,1010,0101 101,1010,0101 不是
2)输入的一串方波信号是由一个或多个完整信号组成
3)两个相邻信号之间可能有 0 0 0 个或多个低位,如 0110010 , 011000010 0110010,011000010 0110010,011000010
4)同一个信号中可以有连续的高位,如 01110101011110001010 01110101011110001010 01110101011110001010 ,前 14 14 14 位是一个既有连续高位的信号
5)完全连续交替方波是指 10 10 10 交替,如 01010 01010 01010 是完全连续交替方波, 0110 0110 0110 不是

输入描述

输入信号字符串(长度>=3且<=1024)

输入总是合法的,不用考虑异常情况

输出描述

输出最长的完全连续交替方波信号串

若不存在完全连续交替方波信号串,输出 − 1 -1 1

样例

样例一

输入

0101010101100001010010

输出

01010

样例解释

输入信号中有三个信号:。 0 0 0 10101010110 10101010110 10101010110(第一个信号段) 00 00 00 01010 01010 01010(第二个信号段) 010 010 010 (第三个信号段)
第一个信号虽然有交替的方波信号段,但出现了 11 11 11 部分的连续高位,不算完全连续交替方波,在剩下的连续方波信号串中 01010 01010 01010 最长

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

塔子哥学算法

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

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

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

打赏作者

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

抵扣说明:

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

余额充值