首页 > 其他分享 >2673. 使二叉树所有路径值相等的最小代价

2673. 使二叉树所有路径值相等的最小代价

时间:2024-04-01 10:34:23浏览次数:30  
标签:helper int 路径 2673 cost 二叉树 ind 节点

思路

先看3节点的子树,想要路径值相同,只能修改叶子节点的值,如上图只能2去+1操作。

核心思想:那么对于任意左右孩子节点,想要从根节点下来的路径相同,只能修改孩子节点。

所以我们只需要从下至上记录叶子节点到当前节点的路径值,然后计算当前节点和右节点的差值

详细看灵神树上贪心【力扣周赛 344】_哔哩哔哩_bilibili
代码

class Solution {
private:
    int res=0;
public:
    int minIncrements(int n, vector<int>& cost) {
        helper(n,cost,0);
        return res;
    }

    int helper (int n,vector<int>& cost,int ind){
        if(ind>=cost.size())
            return 0;
        int left = helper(n,cost,ind*2+1);
        int right = helper(n,cost,ind*2+2);
        res += abs(left-right);
        return cost[ind]+max(left,right);
    }
};

标签:helper,int,路径,2673,cost,二叉树,ind,节点
From: https://www.cnblogs.com/ganyq/p/18107893

相关文章

  • 如何查看已安装的python路径?
    在Windows、Linux或Mac中,Python都是非常流行的编程语言。查看已安装的Python路径是学习Python开发的基础之一。下面我们就来分享一下如何查看已安装的Python路径?如何查看已安装的python路径?1.在Windows中首先,打开Windows命令提示符。在开始菜单中输入“cmd”并打开它。然后输入......
  • [蓝桥杯 2019 省赛 AB] 完全二叉树的权值
    #[蓝桥杯2019省AB]完全二叉树的权值##题目描述给定一棵包含$N$个节点的完全二叉树,树上每个节点都有一个权值,按从上到下、从左到右的顺序依次是$A_1,A_2,\cdotsA_N$,如下图所示:现在小明要把相同深度的节点的权值加在一起,他想知道哪个深度的节点权值之和最大?如果有......
  • 【前端面试3+1】06继承方式及优缺点、缓存策略、url输入到渲染全过程、【二叉树中序遍
    一、继承有哪些方式?以及优缺点        继承的方式包括原型链继承、构造函数继承、组合继承、原型式继承、寄生式继承和组合式继承。1.原型链继承:实现方式:将子类的原型指向父类的实例来实现继承。优点:简单易懂,代码量少。缺点:存在引用类型共享的问题。functionPare......
  • 2024.2.7力扣每日一题——二叉树的堂兄弟节点2
    2024.2.7题目来源我的题解方法一哈希表+层序遍历(自己的想法,硬在每一层去算)方法二广度优先遍历(官方题解,在上一层求下一层)题目来源力扣每日一题;题序:2461我的题解方法一哈希表+层序遍历(自己的想法,硬在每一层去算)使用两个哈希表分别映射parent<子节点,父节点>,c......
  • 2024.2.8力扣每日一题——二叉树的堂兄弟节点
    2024.2.8题目来源我的题解方法一层序遍历方法二深度优先遍历题目来源力扣每日一题;题序:993我的题解方法一层序遍历使用层序遍历,先判断x或y是否是根节点,若是则x和y必然不可能是堂兄弟节点。每次遍历当前层时判断下一层是否出现x和y,若x和y分别出现在该节点的......
  • 【每周例题】力扣 C++ 二叉树的最小深度
    二叉树的最小深度题目二叉树的最小深度题目分析1.首先我们可以处理最小深度为0与最小深度为1的情况:最小深度为0:头结点为空;root==nullptr最小深度为1:root->left==nullptr&&root->right==nullptr2.接下来分为左右子树处理,我们可以用递归来计算最小深度3.最后比较左......
  • react路径别名@配置
    首先下载包craconpmi-D @craco/craco1.路径解析在项目根目录下创建craco.config.js配置如下2.vscode识别配置在项目根目录下创建jsconfig.json,配置如下3. package.json将start和build的内容改成craco,重启项目 ......
  • windows cmd中查看某个命令所在的路径
    需求描述:之前用linux环境下的which命令就能看到某个命令的绝对路径,然后想在windows下的cmd中是否也能够查看到命令的绝对路径呢操作过程:1.windows环境下,通过where命令也能看到命令所在的位置。检查一下环境变量,发现PATH路径当中确实有nvidia-smi的所在路......
  • LeetCodeHot100 二叉树 94. 二叉树的中序遍历 104. 二叉树的最大深度 101. 对称二
    94.二叉树的中序遍历https://leetcode.cn/problems/binary-tree-inorder-traversal/description/?envType=study-plan-v2&envId=top-100-liked//递归//List<Integer>resList;//publicList<Integer>inorderTraversal(TreeNoderoot){//re......
  • DIjkstra进阶模板 路径记录 按权重(结点数最小等)记录
    structDIJ{usingi64=longlong;usingPII=pair<i64,i64>;vector<i64>dis,path,node;vector<vector<array<int,3>>>G;intn;DIJ(){}DIJ(intn):n(n){node.resize(n+1,1);......