120. Triangle

Posted warmland

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了120. Triangle相关的知识,希望对你有一定的参考价值。

三角里的每一个数都是保存的从根节点到这个节点最短的距离。我目前的方法答案是对的,但是修改了Triangle本身,其实可以多保存一个,但是我懒得改了哈哈

 1     public int minimumTotal(List<List<Integer>> triangle) {
 2         int level = triangle.size();
 3         List<Integer> res = new ArrayList<Integer>();
 4         res.add(triangle.get(0).get(0));
 5         for(int i = 1; i < level; i++) {
 6             List<Integer> curLevel = triangle.get(i);
 7             int len = curLevel.size();
 8             curLevel.set(0, curLevel.get(0) + res.get(0));
 9             for(int j = 1; j < len - 1; j++) {
10                 curLevel.set(j, Math.min(res.get(j-1), res.get(j)) + curLevel.get(j));
11             }
12             curLevel.set(len - 1, curLevel.get(len - 1) + res.get(len - 2));
13             res = new ArrayList<Integer>(curLevel);
14         }
15         int min = Integer.MAX_VALUE;
16         for(int i = 0; i < res.size(); i++) {
17             min = (min < res.get(i))? min: res.get(i);
18         }
19         return min;
20     }

 

以上是关于120. Triangle的主要内容,如果未能解决你的问题,请参考以下文章

120. Triangle

LeetCode120 - Triangle

java刷题--120三角形最小路径和

120. Triangle

120. Triangle

Leetcode 120