TME 8/23笔试AK思路(Java)
第一题:每次合并去除一个节点,遍历统计连续的0或非0即可,比如连着三个非0,计数就加2
第二题:遍历一遍找到最大id,然后后序遍历建树,如果节点不存在且id在范围内就创建新节点
第三题:在两个数中间按顺序插入不会影响结果,比如1,6里面插入123456,结果不变,所以只需要找到数字序列的最大值和最小值,以序列最小值为3举例,有两种情况,第一是将小于3的值全部放到边界,第二是将小于3的值放到两个3之间(本身有个最小值,然后再插入一个最小值),取其中结果最小的情况
第四题:第一步先按照题目样例建树,比如101就是从根出发的右节点的左节点的右节点,只要遇到不存在的节点就新建,然后第二步分配叶子节点的值,这里可以直接排序,由于较小的值放到树的底部,所以长度大的值小,如果长度一样,则左边的小(好像是,反正按照题意写比较条件),直接用String的compare方法就行,然后按顺序填入,最后后序遍历,左右子节点的值相加得到中间节点的值
前三题一开始各看了一分钟甚至都没什么思路,尤其是第一题可能容易想复杂,反而第四题看上去比较直观,尤其是样例中给了做题思路,所以先20min过第四题。
然后重新看前三题,想到了第二题的解题思路,大概十几分钟实现出来。
回头再看第一题发现可以直接计数然后几分钟结束。
第三题个人做的时候难度最大,花了40+分钟,首先要发现其中那个值变化的规律,还要考虑两种不同的边界数据插入的情况
#笔试题解#
第二题:遍历一遍找到最大id,然后后序遍历建树,如果节点不存在且id在范围内就创建新节点
第三题:在两个数中间按顺序插入不会影响结果,比如1,6里面插入123456,结果不变,所以只需要找到数字序列的最大值和最小值,以序列最小值为3举例,有两种情况,第一是将小于3的值全部放到边界,第二是将小于3的值放到两个3之间(本身有个最小值,然后再插入一个最小值),取其中结果最小的情况
第四题:第一步先按照题目样例建树,比如101就是从根出发的右节点的左节点的右节点,只要遇到不存在的节点就新建,然后第二步分配叶子节点的值,这里可以直接排序,由于较小的值放到树的底部,所以长度大的值小,如果长度一样,则左边的小(好像是,反正按照题意写比较条件),直接用String的compare方法就行,然后按顺序填入,最后后序遍历,左右子节点的值相加得到中间节点的值
前三题一开始各看了一分钟甚至都没什么思路,尤其是第一题可能容易想复杂,反而第四题看上去比较直观,尤其是样例中给了做题思路,所以先20min过第四题。
然后重新看前三题,想到了第二题的解题思路,大概十几分钟实现出来。
回头再看第一题发现可以直接计数然后几分钟结束。
第三题个人做的时候难度最大,花了40+分钟,首先要发现其中那个值变化的规律,还要考虑两种不同的边界数据插入的情况
#笔试题解#
全部评论
最后一题你这个思路能过100%吗,我也是这个思路但是只过5%
相关推荐
点赞 评论 收藏
分享
02-25 16:29
齐鲁工业大学 golang
找工作勤劳小蜜蜂:自我描述部分太差,完全看不出想从事什么行业什么岗位,也看不出想在哪个地区发展,这样 会让HR很犹豫,从而把你简历否决掉。现在企业都很注重员工稳定性和专注性,特别对于热爱本行业的员工。
你实习的工作又太传统的it开发(老旧),这部分公司已经趋于被淘汰,新兴的互联网服务业,比如物流,电商,新传媒,游戏开发和传统的It开发有天然区别。不是说传统It开发不行,而是就业岗位太少,基本趋于饱和,很多老骨头还能坚持,不需要新血液。
工作区域(比如长三角,珠三角,成渝)等也是HR考虑的因素之一,也是要你有个坚定的决心。否则去几天,人跑了,HR会被用人单位骂死。 点赞 评论 收藏
分享
03-09 23:01
浙江工商大学 C++ 点赞 评论 收藏
分享
allin秋招的秋田...:工作了就会发现熬资历和论资排辈是好事情,扁平化年轻化是不好的事情。 如果太年轻化,部门领导比你大十岁,一堆骨干员工比你大五六岁,你能升的上去? 等你40岁了,你部门领导可还没退休呢。 点赞 评论 收藏
分享