2020-05-06 华为笔试_通用软件

1. 给定一个排序链表,针对每个元素,增加节点或删除节点,使得每个元素出现三次。示例:1 2 3 输出 1 1 1 2 2 2 3 3 3

思路:和上一个数字不同就连续输出三个这个数字,否则跳过。

2.M台计算机,分别对应M个可用内存大小,现在有N个请求,这N个请求对应有所需内存大小以及费用,输出单个调度周期内最佳收益结果。(不可以分割任务,一台计算机只能进行一次任务)

思路:对请求所需内存大小进行排序。因为不会写排序,所以用了暴力的方法来做,只过了70%。

3.有一棵二叉树,每个节点值为非零整数,从根走到任何一个叶子节点称为一条路径,这条路径的任何一段称为路段,路段的价值等于所经过节点的值的和,计算最大路段价值。(有点最大字段和的变种)示例:-1(3,2(-1,3)) 输出5

思路:①用数组来存二叉树,当前节点的最大路段价值=max(父亲节点+自己,自己),遍历完整个数组即可;②用链表来存二叉树(节省空间),然后还没看懂浩哥的思路。

总结:代码能力跟不上思路。对于链表,二叉树,排序这几个点要重点学习,读数据也需要好好加强的。在leetcode上面只要实现函数部分,结果导致读取输入数据这一点完全被忽略。理论方面的可以少看点,但是一定要多动手!

你可能感兴趣的:(2020-05-06 华为笔试_通用软件)