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

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

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

完整真题解析:

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

题目内容

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

输入描述

第一行输入为 N N N , N N N 代表坐标数量, N N N为正整数。 N ≤ 100 N leq 100 N≤100 之后的 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 −10≤x,y≤10

输出描述

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

样例

样例一:

输入

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 最长

经验分享 程序员 微信小程序 职场和发展