Java实现 LeetCode 120 三角形最小路径和

2023-10-27

120. 三角形最小路径和

给定一个三角形,找出自顶向下的最小路径和。每一步只能移动到下一行中相邻的结点上。

例如,给定三角形:

[
     [2],
    [3,4],
   [6,5,7],
  [4,1,8,3]
]

自顶向下的最小路径和为 11(即,2 + 3 + 5 + 1 = 11)。

说明:

如果你可以只使用 O(n) 的额外空间(n 为三角形的总行数)来解决这个问题,那么你的算法会很加分。

class Solution {
     public int minimumTotal(List<List<Integer>> triangle) {
        if (triangle == null || triangle.size() == 0){
            return 0;
        }
        // 只需要记录每一层的最小值即可
        int[] dp = new int[triangle.size()+1];

        for (int i = triangle.size() - 1; i >= 0; i--) {
            List<Integer> curTr = triangle.get(i);
            for (int j = 0; j < curTr.size(); j++) {
                //这里的dp[j] 使用的时候默认是上一层的,赋值之后变成当前层
                dp[j] = Math.min(dp[j],dp[j+1]) + curTr.get(j);
            }
        }
        return dp[0];
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java实现 LeetCode 120 三角形最小路径和 的相关文章

随机推荐

  • JS校验数值

    JS校验数值的范围 大小及长度 function isInt str maxlen min max var pattern 0 1 9 d 非负整数 正整数 0 if str null str if pattern test str fal
  • 链接的请求方式 是get

    超链接的请求是get Get 是以实体的方式得到由请求URI所指定资源的信息 如果请求URI只是一个数据产生过程 那么最终要在响应实体中返回的是处理过程的结果所指向的资源 而不是处理过程的描述
  • win10下对编译完成后opencv_cuda进行移植

    系列文章目录 win10下Opencv源码编译支持CUDA加速的Python环境 超级详细教程 win10下对编译完成后opencv cuda进行移植 文章目录 系列文章目录 一 opencv python环境配置 二 opencv pyt
  • 01、虚拟机(VMware )部署

    一 VMware 概述 VMware是一家提供虚拟化解决方案的领先公司 其产品被广泛应用于企业和个人用户的计算环境中 VMware的虚拟化技术可以将物理计算资源 如服务器 存储和网络 抽象成虚拟化的资源 从而提供更高的灵活性 可扩展性和资源
  • Hbase Coprocessor 协处理器 与 JavaAPI

    协处理器概念 一 协处理器有两种 observer 和 endpoint 1 observer协处理器 Observer 类似于传统数据库中的触发器 当发生某些事件的时候这类协处理器会被 Server 端调用 Observer Coproc
  • 2021-08-26

    安装opencv python库 安装opencv python库 安装opencv python库 curl https bootstrap pypa io pip 2 7 get pip py o get pip py python g
  • 升级 Node 版本教程

    文章目录 Window 系统 Mac 或 Linux系统 Window 系统 window系统升级node只能到node官网下载window安装包来覆盖之前的node node 安装教程附下载地址 https blog csdn net q
  • selenium学习指南

    Selenium 是一套 Web网站 的程序自动化操作 解决方案 通过它 我们可以写出自动化程序 像人一样在浏览器里操作web界面 比如点击界面按钮 在文本框中输入文字 等操作 而且还能从web界面获取信息 比如获取火车 汽车票务信息 招聘
  • 使用Python,OpenCV制作图像Mask——截取ROIs及构建透明的叠加层

    使用Python OpenCV制作图像Mask 截取ROIs及构建透明的叠加层 1 效果图 2 源码 参考 这篇博客将介绍如何使用OpenCV制作Mask图像掩码 使用位运算和图像掩码允许我们只关注图像中感兴趣的部分 截取出任意区域的ROI
  • web自动化测试框架搭建(python+selenium+pytest+pom+ddt)

    本篇文件利用当下流行的pom设计模式设置测试框架 编写测试用例 生成测试报告 并最终jenkins集成 一 selenium selenium是一个开源的web ui自动化测试工具 详细就不再过多介绍了 二 环境搭建 关于环境搭建 非常简单
  • kubernetes使用ansible快速构建集群

    软硬件限制 1 cpu和内存 master 至少1c2g 推荐2c4g node 至少1c2g 2 linux系统 内核版本至少3 10 推荐CentOS7 RHEL7 3 docker 至少1 9版本 推荐1 12 4 etcd 至少2
  • ES计算指定索引,按多个字段去重后批量查询count结果

    ElasticSearch批量查询各个字段去重后的结果代码实现 计算指定索引 批量按多个字段去重后批量查询count结果 计算指定索引 批量按多个字段去重后批量查询的count结果 param indexName param distinc
  • 关于计算重叠四边形的面积的算法

    一 计算矩形重叠面积的三种方法 方法1 两个矩形的宽之和 减去组合之后的宽就得到重叠区域的宽 高同理 def IOU Reframe GTframe 自定义函数 计算两矩形 IOU 传入为均为矩形对角线 x y 坐标 x1 Reframe
  • 30天自制操作系统——第一天到第二天

    第一天 光盘地址用的这个 30天自制操作系统光盘 夕雨714 博客园 cnblogs com Bz162下载地址 Bz c mos vcraft jp 启动方式 D 文档 学习科目 计算机基础 操作系统 操作系统实验 30dayMakeOS
  • JavaWeb项目(登录注册页面)全过程详细总结

    JavaWeb项目 登录注册页面 全过程总结 文章目录 JavaWeb项目 登录注册页面 全过程总结 一 环境准备与开发工具 二 创建 JavaWeb 项目 2 1 新建Dynamic Web Project项目 2 2 创建前端页面 2
  • 手机Vbus上防护用OVP简介

    手机Vbus上防护用OVP简介 作者 AirCity 2019 10 19 aircity007 sina com 1 什么是OVP OVP是Over Voltage Protection的首字母缩写 中文名是过压保护负载开关 当输入电压大
  • CentOS安装教程-解决“Warning:/dev/root does not exist”问题

    在安装CentOS时 若出现 Warning dev root does not exist could not boot 一般情况下是因为未找到安装系统盘的所在位置 例如 U盘 这时只需找到其位置 并对配置稍作修改即可 当我们使用U盘安装
  • LeetCode:二叉树的修改与构造(5道经典题目)

    LeetCode 二叉树的修改与构造 5道经典题目 本文带来与二叉树的修改与构造有关的经典题目 主要实现是C 226 翻转二叉树 106 从中序与后序遍历序列构造二叉树 105 从前序与中序遍历序列构造二叉树 654 最大二叉树 617 合
  • 安装报错ERROR: Could not find a version that satisfies the requirement tensorflow ERROR: No matching dis

    ERROR No matching distribution found for xxx的情况这可能是因为网络的问题 这时我们使用国内的镜像源来加速输入命令 python m pip install lxml 如果你安装的是别的库 请输入别
  • Java实现 LeetCode 120 三角形最小路径和

    120 三角形最小路径和 给定一个三角形 找出自顶向下的最小路径和 每一步只能移动到下一行中相邻的结点上 例如 给定三角形 2 3 4 6 5 7 4 1 8 3 自顶向下的最小路径和为 11 即 2 3 5 1 11 说明 如果你可以只使