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

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;
    }
}
相关推荐
愚者游世1 分钟前
alignof 和 alignas各版本异同
c++·学习·程序人生·职场和发展·visual studio
ysa0510303 分钟前
树的定向(dfs并查集贪心)
数据结构·c++·笔记·算法·深度优先·图论
卡梅德生物科技3 分钟前
卡梅德生物科普:CD140a(PDGFRα)靶点深度解析:机制、药物研发与未来趋势
大数据·人工智能·面试·职场和发展·学习方法
mjhcsp27 分钟前
C++ A* 算法:启发式路径搜索的黄金标准
android·c++·算法
仰泳的熊猫44 分钟前
题目2281:蓝桥杯2018年第九届真题-次数差
数据结构·c++·算法·蓝桥杯
blackicexs1 小时前
第九周第一天
数据结构·算法
小小怪7501 小时前
C++中的代理模式高级应用
开发语言·c++·算法
Dfreedom.1 小时前
归一化技术全景指南
深度学习·算法·机器学习·归一化
Genevieve_xiao1 小时前
【写给新人】在 vscode 中配置适用于算法竞赛背景的 c/c++
c语言·vscode·算法
TracyCoder1231 小时前
LeetCode Hot100(70/100)—— 322. 零钱兑换
算法·leetcode·职场和发展