Leetcode 120.Triangle
来源:互联网 发布:富人国 知乎 编辑:程序博客网 时间:2024/06/04 19:17
Triangle
问题描述:
给出一个三角形状的矩阵,找出从上到下的最小路径,每一次只能走相邻的位置,下面是给出的例子:
[ [2], [3,4], [6,5,7], [4,1,8,3]]
最短路径为11,即2 + 3 + 5 + 1 = 11。
很显然的动态规划的问题 ,每一步都选前面两个中最小的就是最优的了,例如当前在triangle[i][j],之前记录最小路径的矩阵为matrix,那么matrix[i][j] = min(matrix[i - 1][j - 1], matrix[i - 1][j]) + triangle[i][j];
就是triangle[i][j]的最短路径了。答案即是matrix最后一行中最小的值。
以下是代码:
class Solution {public: int minimumTotal(vector<vector<int>>& triangle) { int r_size = triangle.size(), c_size = triangle[r_size - 1].size(); if(r_size == 1 && c_size == 1) return triangle[0][0]; if(r_size == 1 && c_size != 1) { auto t = min_element(triangle[0].begin(), triangle[0].end()); return *t; } int matrix[r_size][c_size] = {INT_MAX}; for (int i = 0; i < r_size; i++) for (int j = 0; j < c_size; j++) matrix[i][j] = INT_MAX; matrix[0][0] = triangle[0][0]; int res = INT_MAX; for (int i = 1; i < r_size; i++) { for (int j = 0; j < triangle[i].size(); j++) { if(j == 0) { matrix[i][j] = matrix[i-1][j] + triangle[i][j]; } else { matrix[i][j] = min(matrix[i - 1][j - 1], matrix[i - 1][j]) + triangle[i][j]; } if(i == r_size - 1 && matrix[i][j] < res) res = matrix[i][j]; } } return res; }};
阅读全文
0 0
- LeetCode 120. Triangle
- [LeetCode]120.Triangle
- [Leetcode] 120. Triangle
- [leetcode] 120.Triangle
- Leetcode 120. Triangle
- <LeetCode OJ> 120. Triangle
- 120. Triangle LeetCode
- leetcode 120. Triangle
- leetcode-120. Triangle
- LeetCode#120. Triangle
- LeetCode 120. Triangle
- [LeetCode]120. Triangle
- LeetCode *** 120. Triangle
- LeetCode-120.Triangle
- [leetcode] 120. Triangle
- [leetcode]120. Triangle
- LeetCode - 120. Triangle
- Leetcode题解 120. Triangle
- VS2015环境下,显示strcpy()函数出错的解决办法
- CentOS系统下的Hadoop集群(第2期)_机器信息分布表
- Reader-Aware Multi-Document Summarization: An Enhanced Model and The First Dataset
- kubernetes1.8原生dashboard部署
- 专为物联网而生的操作系统——TinyOS
- Leetcode 120.Triangle
- 文件夹下文件名正确排序问题
- Ubuntu 16.04 mount error
- 模拟游戏引擎中的灯光实现
- 消息队列系列之分布式消息队列Kafka
- 自定义----Banner 轮播加小圆点>> 获取网络图片 点击事件
- mysql-proxy安装配置
- Vim清空整个文件的小技巧
- Amazon Rekognition