腾讯音乐9.8笔试

一道字符串+两道二叉树题目。感觉有点难
第一道60%。
第二题100%。
第三题55%。



第二题 100%
 def getBinaryTrees(self , preOrder: List[int], inOrder: List[int]) -> List[TreeNode]:
        # write code here
        ret = []
        def buildTree(preorder,inorder):
            if len(preorder)==0: return [None]
            x = preorder.pop(0)
            tree_list = []
            for i,val in enumerate(inorder):
                if val==x:
                    l_trees = buildTree(preorder[:i],inorder[:i])
                    r_trees = buildTree(preorder[i:],inorder[i+1:])
                    for l in l_trees:
                        for r in r_trees:
                            root = TreeNode(x)
                            root.left,root.right = l,r
                            tree_list.append(root)
            return tree_list
        
        ret = buildTree(preOrder,inOrder)
        return ret
第三题 55%
def getTreeSum(self , tree: TreeNode) -> int:
        # write code here
        MOD = 10**9+7
        def dfs(node):
            if not node: return 0
            left = dfs(node.left)
            right = dfs(node.right)
            total = 1
            if left==right:
                total = (total+left+right)%MOD
            elif left>right:
                total = (total+left*2)%MOD
            else:
                total = (total+right*2)%MOD
            return total%MOD
        res = dfs(tree)
        return res
第三题有无大佬指正一下正确解法


#腾讯##秋招##笔试##腾讯音乐##腾讯音乐2023秋招笔试心得体会#
全部评论
第一题不难吧,后面是一点不会
3 回复 分享
发布于 2022-09-08 20:40 北京
如果26个字符都有占据,直接把当前频次大于2的字符频次- -就可以了 操做次数++
2 回复 分享
发布于 2022-09-08 20:59 山东
第三题是递归,每个节点的值赋值为子结点的最大值*2+1,最后返回根节点的值就行了
2 回复 分享
发布于 2022-09-08 20:45 四川
先求树的高度h,答案是2的h次方-1再取模,亲测100%
2 回复 分享
发布于 2022-09-08 20:44 江苏
100 100 0 最后一题没写完自动交卷了😭本来应该骗点分的..
1 回复 分享
发布于 2022-09-08 21:18 上海
没用的啦,我三道题全A了,也没面试拉
点赞 回复 分享
发布于 2022-10-12 18:17 四川
65 0 25
点赞 回复 分享
发布于 2022-09-08 21:16 北京
第三道是这个公式return 1+max(dp(root.left),dp(root.right)),样例全通过,第二段道暴力枚举真没想到
点赞 回复 分享
发布于 2022-09-08 20:58 北京
我三道题ac,但是主观题不会都在瞎扯,能进面吗? (ps:之前腾讯暑期笔试ac,没有被约面过)
点赞 回复 分享
发布于 2022-09-08 20:56 浙江
60,3.33,100
点赞 回复 分享
发布于 2022-09-08 20:53 江苏
第三题可否当成完全二叉树啊,左右子数平衡就应该是满二叉树情况, 所以求得满二叉树的节点个数就是答案
点赞 回复 分享
发布于 2022-09-08 20:44 湖南
第二题测试一直正确,但是提交一直只有3.33,很奇怪
点赞 回复 分享
发布于 2022-09-08 20:43 四川
第三题数学题,和树的度有关
点赞 回复 分享
发布于 2022-09-08 20:43 黑龙江
第二题 我用c++ 枚举➕递归 超内存了
点赞 回复 分享
发布于 2022-09-08 20:42 湖南
第三题求二叉树集合懵逼了。双递归直接超时
点赞 回复 分享
发布于 2022-09-08 20:41 上海
求解
点赞 回复 分享
发布于 2022-09-08 20:38 北京
95 6.67 55。 第二题一直数组越界 找不到问题。吐了
点赞 回复 分享
发布于 2022-09-08 20:37 湖北
第二题什么思路呢?
点赞 回复 分享
发布于 2022-09-08 20:31 天津

相关推荐

2025-12-06 01:10
已编辑
哈尔滨工程大学 Java
一面问的真细,二面不知为啥变双机位。9.29快手主站平时怎么学习 AI 的,国内外知名大模型,实习公司都用的什么大模型,怎么评估效果的java池化思想,线程池构造方法的核心参数,线程池中阻塞队列注意事项,submit方法参数和执行逻辑,shutdown和shutdownnow,核心线程允许过期吗threadlocal底层,为什么key是弱引用,key回收了再get或者set这个value会怎样aqs,如何保证公平性java代理java堆划分,新生代还有别的晋升老年代的情况吗,什么时候触发gc,gc失败抛什么异常,如何排查oom,导出dump命令redis数据结构,哪个底层是跳表,和其他数据结构对比布隆过滤器会出现大key问题吗,你咋实现的布隆过滤器你怎么实现redis分布式锁,可重入,续期聚簇索引非聚簇索引select语句会加锁吗,怎么实现的不加锁undolog redolog binlog怎么能让select加锁,update这个范围加的什么锁,update一条呢手撕简单01背包,接雨水10.10快手主站意图识别用的哪个大模型,走到意图和rag的比例,faq是点击的吗自然语言怎么识别的gap一年干啥了,转正怎么样没跟组里提意向吗,研究生研究方向是传统算法吗,会大模型微调吗注册场景为什么用布隆过滤器,原理分布式锁底层的key怎么拼的,value里是什么redis持久化zset底层mysql索引结构,一个表三个字段有主键唯一索引和没索引的字段会有几个b+树,聚簇索引非聚簇索引存的啥无手撕
点赞 评论 收藏
分享
评论
6
18
分享

创作者周榜

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