算法刷题日志——每日一题 二叉树

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

看完题之后觉得有点不能理解题意,在思考了之后还是想不明白,然后就打开了题解,参考了灵茶山艾府的题解,豁然开朗

java 复制代码
class Solution {
    public int minIncrements(int n, int[] cost) {
 int ans = 0;
        for (int i = n / 2; i > 0; i--) { // 从最后一个非叶节点开始算(因为叶子结点数量占一般,所以直接从n/2开始)
            ans += Math.abs(cost[i * 2 - 1] - cost[i * 2]); // 两个子节点变成一样的直接取两个叶子结点的差值,然后就是操作次数
            cost[i - 1] += Math.max(cost[i * 2 - 1], cost[i * 2]); // 累加路径和就是把当前子节点最大值加到当前节点中,成为路径和
        }
        return ans;
    }
}
相关推荐
Python技术极客18 小时前
一款超好用的 Python 交互式可视化工具,强烈推荐~
算法
徐小夕18 小时前
花了一天时间,开源了一套精美且支持复杂操作的表格编辑器tablejs
前端·算法·github
小刘鸭地下城18 小时前
深入浅出链表:从基础概念到核心操作全面解析
算法
小刘鸭地下城18 小时前
哈希表核心精要:从 O(1) 原理到链式地址与开放寻址
算法
BenChuat18 小时前
Java常见排序算法实现
java·算法·排序算法
元亓亓亓19 小时前
LeetCode热题100--105. 从前序与中序遍历序列构造二叉树--中等
算法·leetcode·职场和发展
纪元A梦19 小时前
贪心算法在SDN流表优化中的应用
算法·贪心算法
JCBP_19 小时前
QT(4)
开发语言·汇编·c++·qt·算法
码熔burning19 小时前
JVM 垃圾收集算法详解!
jvm·算法
小柴狗20 小时前
C语言关键字详解:static、const、volatile
算法