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

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

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.

给定一个三角形,找出从顶到底的最小路径和,每一步可以从上一行移动到下一行相邻的数字 

思路:由底向上依次获取到第i层的最小值。最终顶层节点值就是最小路径和

1     public int minimumTotal(List
> triangle) { 2 if(triangle.size() == 0) return -1; 3 if(triangle.size() == 1) return triangle.get(0).get(0); 4 for(int i=triangle.size()-2;i>=0;i--){ 5 for(int j=0;j<=i;j++){ 6 int minValue = Math.min(triangle.get(i+1).get(j),triangle.get(i+1).get(j+1)) + triangle.get(i).get(j); 7 triangle.get(i).set(j,minValue); 8 } 9 }10 return triangle.get(0).get(0); 11 }

 

转载于:https://www.cnblogs.com/wzj4858/p/7677342.html

你可能感兴趣的文章
数据库3
查看>>
存储分类
查看>>
下一代操作系统与软件
查看>>
【iOS越狱开发】如何将应用打包成.ipa文件
查看>>
[NOIP2013提高组] CODEVS 3287 火车运输(MST+LCA)
查看>>
Yii2 Lesson - 03 Forms in Yii
查看>>
Python IO模型
查看>>
Ugly Windows
查看>>
DataGridView的行的字体颜色变化
查看>>
Java再学习——关于ConcurrentHashMap
查看>>
如何处理Win10电脑黑屏后出现代码0xc0000225的错误?
查看>>
局域网内手机访问电脑网站注意几点
查看>>
[Serializable]的应用--注册码的生成,加密和验证
查看>>
Day19内容回顾
查看>>
第七次作业
查看>>
SpringBoot项目打包
查看>>
Linux操作系统 和 Windows操作系统 的区别
查看>>
《QQ欢乐斗地主》山寨版
查看>>
文件流的使用以及序列化和反序列化的方法使用
查看>>
Android-多线程AsyncTask
查看>>