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

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;
    }
}
相关推荐
罗西的思考1 小时前
[2W字长文] 探秘Transformer系列之(23)--- 长度外推
人工智能·算法
算AI19 小时前
人工智能+牙科:临床应用中的几个问题
人工智能·算法
hyshhhh21 小时前
【算法岗面试题】深度学习中如何防止过拟合?
网络·人工智能·深度学习·神经网络·算法·计算机视觉
杉之1 天前
选择排序笔记
java·算法·排序算法
烂蜻蜓1 天前
C 语言中的递归:概念、应用与实例解析
c语言·数据结构·算法
OYangxf1 天前
图论----拓扑排序
算法·图论
我要昵称干什么1 天前
基于S函数的simulink仿真
人工智能·算法
AndrewHZ1 天前
【图像处理基石】什么是tone mapping?
图像处理·人工智能·算法·计算机视觉·hdr
念九_ysl1 天前
基数排序算法解析与TypeScript实现
前端·算法·typescript·排序算法
守正出琦1 天前
日期类的实现
数据结构·c++·算法