本文共 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/