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

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;
    }
}
相关推荐
高山上有一只小老虎44 分钟前
字符串字符匹配
java·算法
愚润求学1 小时前
【动态规划】专题完结,题单汇总
算法·leetcode·动态规划
林太白1 小时前
跟着TRAE SOLO学习两大搜索
前端·算法
ghie90902 小时前
图像去雾算法详解与MATLAB实现
开发语言·算法·matlab
云泽8082 小时前
从三路快排到内省排序:探索工业级排序算法的演进
算法·排序算法
weixin_468466852 小时前
遗传算法求解TSP旅行商问题python代码实战
python·算法·算法优化·遗传算法·旅行商问题·智能优化·np问题
FMRbpm3 小时前
链表5--------删除
数据结构·c++·算法·链表·新手入门
程序员buddha3 小时前
C语言操作符详解
java·c语言·算法
John_Rey3 小时前
API 设计哲学:构建健壮、易用且符合惯用语的 Rust 库
网络·算法·rust
愿没error的x3 小时前
动态规划、贪心算法与分治算法:深入解析与比较
算法·贪心算法·动态规划