1120. 子树的最大平均值

/**
 * Definition for a binary tree node.
 * public class TreeNode {
 *     int val;
 *     TreeNode left;
 *     TreeNode right;
 *     TreeNode(int x) { val = x; }
 * }
 */
class Solution {
  double res = 0;
    public double maximumAverageSubtree(TreeNode root) {
        solve(root);
        return res;
    }
    public int[] solve(TreeNode root) {                                                    //少用静态的 不然会保存上次运行的结果
        int arr[] = new int[2];
        arr[0] = 1;
        arr[1] = root.val;
        if (root.left != null) {
            int [] temp = solve(root.left);                                             //用一个temp保存数组 因为用solve(root.left)[0] 会超时 ~~想无
            arr[1] += temp[1];
            arr[0] += temp[0];
        }
        if (root.right != null) {
            int [] temp = solve(root.right);
            arr[1] += temp[1];
            arr[0] += temp[0];
        }
        this.res = Math.max(this.res, arr[1] * 1.0 / arr[0]);
        return arr;
    }
}

问题说明:在leetcode上刷题的时候,有时候会出现,测试的时候没有错,但提交就错。这就很头疼了
这个问题我遇到几次,慢慢发现了其中的道理。分享给大家,
1.尽可能不要使用全局变量,这个leetcode已经说明了
2.如果你是java,同时也使用了全局变量。 记住千万不要用 static 去修饰,在你的代码中不要出现 static,
3.你的代码写的真的有问题,你再好好看看吧。
4.暂时只发现这些问题,后期如果又发现,会继续补充。

全部评论

相关推荐

不愿透露姓名的神秘牛友
06-27 20:15
还能挽救吗?找同学帮忙看了一下 字节怎么能如此对我
牛客26396789...:你这是严重红线,被发现你自己永远进不去,你那个同学直接走人,你还敢宣扬
点赞 评论 收藏
分享
05-19 19:57
蚌埠学院 Python
2237:Gpa70不算高,建议只写排名,个人技能不在多而在精,缩到8条以内。项目留一个含金量高的,减少间距弄到一页,硕士简历也就一页,本科不要写很多
实习,投递多份简历没人回...
点赞 评论 收藏
分享
06-04 09:27
门头沟学院 Java
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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