热点新闻
刷题小记2(华为机考)
2023-07-09 05:40  浏览:1195  搜索引擎搜索“手机晒展网”
温馨提示:信息一旦丢失不一定找得到,请务必收藏信息以备急用!本站所有信息均是注册会员发布如遇到侵权请联系文章中的联系方式或客服删除!
联系我时,请说明是在手机晒展网看到的信息,谢谢。
展会发布 展会网站大全 报名观展合作 软文发布

今天还是在刷题,下午考试。

临近考试,竟然还有点紧张。也是很多年没有考试了。这次参加了HR推荐的华为机考,一共有3题,分别是100/100/200分,总计400分。在牛客网模拟环境中网上考试。

第一题是找车位问题,给定一个0和1组成的数组,1代表车位占用,0代表没有占用。现在要停一辆车进去,这辆车一定要距离其他任何的车距离最大。求这个最大距离。

例如这样一个车位布局:1,0,0,0,0.1,1,0

将车位停在第三个地方,他与附近车位距离为2和3,那么最近的车距离2。

这个题目不难,但是由于我没有注意好边界条件,导致一直有几个用例执行没通过,排查了很久才发现,一道题花了四十多分钟,属实拉胯了。


第二题,给定字符串1,和字符串2。字符串1所有字符的排列组合组成的新串,如果在字符串2里面存在一样的序列(子串),则返回在字符串2中的下标。

这道题一开始我是想求出字符串1所有的排列组合数据,再去字符串2里面找,但是字符串的排列组合的情况实在太多了。算法复杂度一定会超标的。

后来我想到动态规划算法,意思是如果字符串2第N个字符,在字符串1中存在,则那么从这个字符开始往后找,如果后面每一个字符都在字符串1中存在且没有被占用。则继续找下一个。如果无法匹配,那么这个N下下标开始的子串不可能是字符串1的某种组合,则找N+1。

直到字符串1中所有的字符都被占用,说明str2中的第N位开头的子串就是字符串1的一个排列组合。

但是这一题运行到90%的用例时报错无法在规定时间内执行完成。由于看不到报错用例,我看半天还是没有看出来哪个边界条件忽视了。可惜没有完全做出来。


第三题,给定一个二叉树的字符串表示方法,例如a{b,c},就是一个a为顶点,b为左节点,c为右节点,输出这个二叉树的中序遍历结果。实际输入的二叉树层级结构比较复杂,也就是b和c对应的不是一个节点而是子树。

这一题原本是想建立一个二叉树的数据结构,但发现过于复杂。后来想到可以把输入字符串拆解成简单二叉树,对每个二叉树都按照中序遍历的方式重新输出。而如果子节点是一个树的话,就继续对这个子树拆分,直到拆到叶子结点,然后再输出。

我觉得思路没有问题,就是没时间继续写下去了,还是很可惜。


最终,只考了不到200分,太垃圾了。

发布人:6dc9****    IP:117.173.23.***     举报/删稿
展会推荐
让朕来说2句
评论
收藏
点赞
转发