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

相关推荐

11-05 07:29
贵州大学 Java
点赞 评论 收藏
分享
6 18 评论
分享
牛客网
牛客企业服务