华为秋招机试三道编程题(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
代码
上一篇:
IDEA上Java项目控制台中文乱码