tme笔试
第一题签到题:数组合并成0非0相间的新数组需要几次合并;
第二题将非完全二叉树填充为完全二叉树;
前两题a了
第三题为1-m这m个数插入到数组里,如何插入使得相邻数差的绝对值的和最小(写暴力过了20%),请教大佬们咋写
第四题根据叶子结点的值数组和路径数组恢复哈夫曼树(未写)
第二题将非完全二叉树填充为完全二叉树;
前两题a了
第三题为1-m这m个数插入到数组里,如何插入使得相邻数差的绝对值的和最小(写暴力过了20%),请教大佬们咋写
第四题根据叶子结点的值数组和路径数组恢复哈夫曼树(未写)
全部评论
第三题纯数学题,O(n)存一下极值就行了,第四题先递归构造树,把叶子按层存到数组里,然后把value排序,给叶子从下往上从右往左赋值,最后递归算非叶子节点
第三题就是把数组想象成波峰波谷,如果插入的数在峰谷间对权值没影响的,所以考虑最大值最小值插入在波峰波谷,同时要考虑插入在最左最右是否能更优
树转完全二叉树怎么弄的啊佬
第一题怎么做
佬,第二题会做但只过了80%超时了,不知道是不是用py的原因第三题无思路,第四题当场没做出来瞎写了一点过了10%,刚刚想到怎么做了写了一下感觉符合题意,应该是从下往上从左往右递归构建,每次拿两个节点,如果编码是叶子节点就从value里面拿一个最小的构建新节点,要不然就拿这个编码对应的已经构建好的节点,然后两个组合成一个新的根,并且记录这个根对应的编码前缀就好感觉笔试应该寄了,一半都没过,但是第四题没做出来真的好气
请问有没有笔完官网流程还是灰色的uu
相关推荐
11-08 13:58
门头沟学院 Java 点赞 评论 收藏
分享