力扣每日一题 使二叉树所有路径值相等的最小代价 满二叉树 贪心

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

文章目录

思路

👨‍🏫 灵神题解

复杂度

⏰ 时间复杂度: O ( n ) O(n) O(n)

🌎 空间复杂度: O ( 1 ) O(1) O(1)

Code

Java 复制代码
class Solution {
    public int minIncrements(int n, int[] cost) {
        int ans = 0;
        for (int i = n / 2; i > 0; i--) { // 从最后一个非叶节点开始算
            ans += Math.abs(cost[i * 2 - 1] - cost[i * 2]); // 两个子节点变成一样的
            cost[i - 1] += Math.max(cost[i * 2 - 1], cost[i * 2]); // 累加路径和
        }
        return ans;
    }
}
相关推荐
WolfGang0073217 分钟前
代码随想录算法训练营 Day21 | 回溯算法 part03
数据结构·算法
tankeven7 分钟前
HJ152 取数游戏
c++·算法
程序员Shawn9 分钟前
【机器学习 | 第六篇】- 机器学习
人工智能·算法·机器学习·集成学习
深邃-9 分钟前
数据结构-队列
c语言·数据结构·c++·算法·html5
Rhystt15 分钟前
代码随想录算法训练营第六十天|多余的边?从基础到进阶!
开发语言·c++·算法·图论
2301_8101609536 分钟前
C++中的策略模式进阶
开发语言·c++·算法
keep intensify36 分钟前
二叉树的直径
数据结构·算法·深度优先
keep intensify44 分钟前
单源最短路径
数据结构·c++·算法
2401_8735449244 分钟前
分布式缓存一致性
开发语言·c++·算法
香芋超新星1 小时前
反转字符串中的小写字母
算法