博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
[LeetCode] 120. Triangle
阅读量:5792 次
发布时间:2019-06-18

本文共 1266 字,大约阅读时间需要 4 分钟。

Problem

Given a triangle, find the minimum path sum from top to bottom. Each step you may move to adjacent numbers on the row below.

For example, given the following triangle

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

The minimum path sum from top to bottom is 11 (i.e., 2 + 3 + 5 + 1 = 11).

Note:

Bonus point if you are able to do this using only O(n) extra space, where n is the total number of rows in the triangle.

Bottom-top DP

class Solution {    public int minimumTotal(List
> triangle) { int[] dp = new int[triangle.size()+1]; for (int i = triangle.size()-1; i >= 0; i--) { for (int j = 0; j <= i; j++) { dp[j] = Math.min(dp[j], dp[j+1]) + triangle.get(i).get(j); } } return dp[0]; }}

Non Extra Space DP

class Solution {    public int minimumTotal(List
> triangle) { int len = triangle.size(); for (int i = len-2; i >= 0; i--) { for (int j = 0; j <= i; j++) { int preMin = Math.min(triangle.get(i+1).get(j), triangle.get(i+1).get(j+1)); int curMin = preMin + triangle.get(i).get(j); triangle.get(i).set(j, curMin); } } return triangle.get(0).get(0); }}

转载地址:http://smwfx.baihongyu.com/

你可能感兴趣的文章
[Java]Socket和ServerSocket学习笔记
查看>>
stupid soso spider
查看>>
svn命令在linux下的使用
查看>>
MySQL主从同步相关-主从多久的延迟?
查看>>
Gradle之module间依赖版本同步
查看>>
一些kindle资源
查看>>
java springcloud版b2b2c社交电商spring cloud分布式微服务(十五)Springboot整合RabbitMQ...
查看>>
SpringCloud使用Prometheus监控(基于Eureka)
查看>>
10g手动创建数据库
查看>>
Linux—文件系统
查看>>
运用Loadrunner测试Mysql数据库性能
查看>>
Spring MVC EL表达式不能显示
查看>>
【致青春】我们挥霍时间的年代
查看>>
WDS系列之四:自定义安装映像
查看>>
jQuery 表单应用:全选/取消全选,表单验证,网页选项卡切换
查看>>
Castle 整合.NET Remoting
查看>>
Windwos Server 2008 R2 DHCP服务
查看>>
SAS和SATA硬盘的区别
查看>>
现代程序设计 学生情况调查
查看>>
U盘安装linux后无法引导
查看>>