leetcode:Triangle
来源:互联网 发布:bbs论坛数据库设计 编辑:程序博客网 时间:2024/06/10 01:03
数字三角形,给出一个如下图所示的数字,计算从顶点处到达底边数字之和最小(最大也是一个样的)
[ [2], [3,4], [6,5,7], [4,1,8,3]]
我们先定义一个二维数组f(i, j),表示从顶点到第i行第j个位置数字最小和是f(i, j),那么我们容易得出递推方程f(i, j) = min{f(i - 1, j - 1), f(i - 1, j)} + Triangle[i][j]
显然f(1,1) = Triangle[1][1];
public class Solution { public int minimumTotal(ArrayList<ArrayList<Integer>> triangle) { ArrayList<Integer> list1 = new ArrayList<Integer>();; for(int i = 1; i < triangle.size(); ++i){ list1 = triangle.get(i); ArrayList<Integer> list2 = triangle.get(i - 1); for(int j = 0; j < list1.size(); ++j){ int temp = list1.get(j); if(j == 0){ list1.set(j, list2.get(0) + temp); } else if(j == list2.size()){ list1.set(j, temp + list2.get(j - 1)); } else{ list1.set(j,temp + Math.min(list2.get(j), list2.get(j - 1))); } } } if(list1.size() <= 1){ return triangle.get(0).get(0); } int ans = list1.get(0); for(int i = 0; i < list1.size(); ++i){ if(list1.get(i) < ans){ ans = list1.get(i); } } return ans; }}
0 0
- LeetCode : Triangle
- [LeetCode] Triangle
- [Leetcode] Triangle
- [LeetCode] Triangle
- 【leetcode】Triangle
- LeetCode - Triangle
- [LeetCode]Triangle
- [Leetcode]Triangle
- [leetcode]Triangle
- Leetcode: Triangle
- [LeetCode] Triangle
- LeetCode-Triangle
- [leetcode] Triangle
- [LeetCode] Triangle
- LeetCode - Triangle
- 【Leetcode】Triangle
- LeetCode | Triangle
- [leetcode]Triangle
- UIActionSheet关闭动画过程中调用delegate = nil 导致的内存泄露
- 适配器模式
- Building Plugins for iOS
- 用java的一个复制图片程序
- 简单获取数据库连接串
- leetcode:Triangle
- NanShan 如何解决DotProject中文乱码问题
- 五个字乘以4等于倒过来的值,四个字乘以4等于倒过来的值
- JavaBean的简单用法
- BZOJ 1786: [Ahoi2008]Pair 配对 题解
- 公历转农历的程序(代码转载于网络)
- NYOJ 题目25 A Famous Music Composer
- LNK2019,LNK1120一个可能编译时产生函数声明与实现不对称的误导提示信息的问题
- AJAX