华为秋招机试三道编程题(2021-08-11)(已完结)

第一道:叠积木(100%)

题目:

给出一个列表如[[6,7,],[5,4],[3,2]],表示木块的长和宽,当木块的长和宽不大于另个木块的长和宽时,就可以放在上面,此外数组还可以左右翻转。(与相似,不过添加了翻转,增加了难度)。当长宽都大于等于上一个积木时才可以搭到上一个积木上,此外数组还可以左右翻转。求最多能搭多少层。

输入:

[[5,4], [6,3], [6,7], [6,6], [4,6]]

输出:

4

参考代码:

第二道: 加密字符串(100%)

题目

字符串压缩 重复字母可以压缩(aaa=>a3),重复的连续字符串也可以压缩并转大写(abcabc=>ABC2) 不过还要满足以下几个条件 重复连续字符串的优先级高于重复字符 重复连续子串的长度越长,优先级越高 。类似力扣:

输入:

“aaaabcaabcaabcaabc”

输出:

aaAABC4

代码

第三道:往仓库放货物的最大数量(100%)

题目

只有物品(有宽度)能放进坑里才行

类似,改为接规格为1*n的木板,问最多接多少块

输入:【第一行(物品的宽度),第二行(坑的宽度),第三行(坑的深度)】

2 4 0,-2,-2,-3,0

输出: 1

代码

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