博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【Leetcode】Triangle
阅读量:5225 次
发布时间:2019-06-14

本文共 924 字,大约阅读时间需要 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).

1 class Solution { 2 public: 3     int minimumTotal(vector
> &triangle) { 4 int size = triangle.size(); 5 vector
table(size, 0); 6 for (int i = 0; i < size; ++i) { 7 table[i] = triangle[size - 1][i]; 8 } 9 for (int i = size - 2; i >= 0; --i) {10 for (int j = 0; j <= i; ++j) {11 table[j] = min(table[j], table[j + 1]) + triangle[i][j];12 }13 }14 return table[0];15 }16 };
View Code

自底向上dp. 如果允许改变三角形本身,直接利用其本身空间即可。

转载于:https://www.cnblogs.com/dengeven/p/3740842.html

你可能感兴趣的文章
数列求和总结
查看>>
「Unity」委托 将方法作为参数传递
查看>>
Unity学习疑问记录之隐藏与显示物体
查看>>
设计模式-学习
查看>>
button标签点击实现数量加减
查看>>
重置GNOME-TERMINAL
查看>>
quartz 实现调度任务 SchedulerManager
查看>>
new jordans 9 Nets
查看>>
redis哨兵集群、docker入门
查看>>
rmdir
查看>>
[翻译][架构设计]The Clean Architecture
查看>>
状态压缩DP
查看>>
Shell从入门到精通进阶之四:流程控制
查看>>
腾讯QQ、新浪微博等知名社交网络图标素材
查看>>
正则表达式2
查看>>
Unity3D_(插件)小地图自刷新制作Minimap小地图
查看>>
为什么分布式一定要有Redis?
查看>>
hihoCoder 1233 : Boxes(盒子)
查看>>
HihoCoder 1328 BFS 搜索
查看>>
Day2-h和p标签
查看>>