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

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;
    }
}
相关推荐
强化学习与机器人控制仿真32 分钟前
字节最新开源模型 DA3(Depth Anything 3)使用教程(一)从任意视角恢复视觉空间
人工智能·深度学习·神经网络·opencv·算法·目标检测·计算机视觉
Teacher.chenchong1 小时前
R语言实现物种分布预测与生态位分析:多元算法实现物种气候生态位动态分析与分布预测,涵盖数据清洗、模型评价到论文写作全流程
开发语言·算法·r语言
mit6.8241 小时前
高维状态机dp|环形dp
算法
Swift社区1 小时前
LeetCode 427 - 建立四叉树
算法·leetcode·职场和发展
u***j3241 小时前
算法设计模式总结
算法·设计模式
vir021 小时前
交换瓶子(贪心)
数据结构·算法
G***66912 小时前
算法设计模式:贪心与动态规划
算法·设计模式·动态规划
墨染点香2 小时前
LeetCode 刷题【160. 相交链表】
算法·leetcode·链表
少睡点觉2 小时前
LeetCode 238. 除自身以外数组的乘积 问题分析+解析
java·算法·leetcode
YoungHong19922 小时前
面试经典150题[066]:分隔链表(LeetCode 86)
leetcode·链表·面试