华为软开2.23机考题目

1.16位半浮点数转32位浮点数。

半浮点数:第0位标志位,1-5位指数位,6-15位尾数位。浮点数:第0位标志位,1-8指数位,9-31位尾数位。浮点数指数位=半浮点数指数位+112(128-16)。尾数位=半浮点数尾数后面补零。

特殊:指数位全为1时输出为0xFFFFFFFF的十进制。

输入:一个十进制数

输出:这个十进制数的浮点数形式(十进制)。

这道题就按照题目一步一步编程就行了,主要考察十进制和二进制的转换以及字符串的处理。但我最后只通过了60%,不知道哪里出问题了。

2.字符串寻亲(最小覆盖字串的顺序版)

在母串查找子串时要求顺序和字串相同。

我直接套的最小覆盖字串的滑动窗口方法,就是没有顺序的版本,通过了45%,本来想做完第三题回来再优化,但是没时间了。

3.荣誉墙。

小明有n个荣誉,每个荣誉的时间不一样(1-3月),现在要在荣誉墙上摆荣誉,问最多能在墙上摆多少个荣誉时间不冲突的荣誉(1-3月和2-4月冲突)。

能用回溯做,脑子里有思路, 但是忘了咋写了,最后只写了3个以内荣誉的解法,通过20%。

总结:两道题都是考字符串,华为很喜欢考字符串。第二题第三题都有思路但是感觉自己敲代码敲的太慢了,只能靠模板实现部分功能。笔试应该过了,接下来准备面试了。

全部评论
同一天考的握手🤝,第一题要注意转二进制+112的时候的进位,我是十进制加好后再转回二进制。第二题活动窗口有几个用例比较大,可以通过跳过长度不符合的情况来剪枝。第三题是leetcode射气球的变种,用贪心来解答最快,代码量比较小。我ak了
点赞 回复 分享
发布于 2023-03-02 12:08 美国
楼主是校招?
点赞 回复 分享
发布于 2023-02-23 20:32 天津
请问输入一个十进制数,然后怎么搞,直接转化成二进制数,看位数对应半浮点数吗
点赞 回复 分享
发布于 2023-02-23 20:26 山西

相关推荐

点赞 评论 收藏
分享
迷茫的大四🐶:摊牌了,我是25届的,你们也不招我
点赞 评论 收藏
分享
10-22 19:44
门头沟学院 Java
面了100年面试不知...:那我得去剪个头
点赞 评论 收藏
分享
评论
4
13
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务