博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
三角形最小路径和
阅读量:3959 次
发布时间:2019-05-24

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

题目来源

题目描述

给定一个三角形 triangle ,找出自顶向下的最小路径和。

每一步只能移动到下一行中相邻的结点上。相邻的结点 在这里指的是 下标 与 上一层结点下标 相同或者等于 上一层结点下标 + 1 的两个结点。也就是说,如果正位于当前行的下标 i ,那么下一步可以移动到下一行的下标 i 或 i + 1 。
在这里插入图片描述

解法一:动态规划

在这里插入图片描述

class Solution {
public int minimumTotal(List
> triangle) {
int n=triangle.size();//求三角形的长度 int[][] f=new int[n][n];//创建二维数组用[i][j]表示位置 f[0][0]=triangle.get(0).get(0); for(int i=1;i

在这里插入图片描述

解法二:动态规划+空间优化

在这里插入图片描述

class Solution {
public int minimumTotal(List
> triangle) {
int n=triangle.size(); int[][] f=new int[2][n]; f[0][0]=triangle.get(0).get(0); for(int i=1;i

上述方法的时间复杂度为O(n)使用了2n的空间存储状态

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

你可能感兴趣的文章
深入Java集合学习系列(二):
查看>>
图解Spring AOP
查看>>
性能调优之Weblogic调优
查看>>
性能调优之性能参数指标
查看>>
POJ3009---冰壶游戏(深搜剪枝+回溯)
查看>>
POJ3669---跳炸弹(广搜)
查看>>
POJ---1384Piggy-Bank (完全背包+装满问题)
查看>>
并查集基础知识
查看>>
POJ1182---食物链(带权并查集~技巧性超强的解法)
查看>>
POJ2492---A Bug's Life(做完食物链,再秒这个)
查看>>
POJ2063---Investment(完全背包)
查看>>
POJ1458---(最长公共子序列最基础题)
查看>>
POJ3356---(最长公共子序列)
查看>>
二叉树基础知识大全(核心理解遍历)
查看>>
03-树1 树的同构(25 分) 2017秋 数据结构 陈越、何钦铭
查看>>
04-树4 是否同一棵二叉搜索树(25 分)---陈越、何钦铭-数据结构-2017秋
查看>>
表达式求值(C实现,实现多括号,浮点数)---栈的实现以及运用。
查看>>
有序链表的合并(数据结构---单链表)
查看>>
栈实现(数据结构---数组,链表 C实现)
查看>>
POJ3903(dp,最长上升子序列,最基础题)
查看>>