lintcode-数字三角形-109
2015-09-09 21:36
274 查看
给定一个数字三角形,找到从顶部到底部的最小路径和。每一步可以移动到下面一行的相邻数字上。
样例
比如,给出下列数字三角形:
[
[2],
[3,4],
[6,5,7],
[4,1,8,3]
]
从顶到底部的最小路径和为11 (2 + 3 + 5 + 1 = 11)
样例
比如,给出下列数字三角形:
[
[2],
[3,4],
[6,5,7],
[4,1,8,3]
]
从顶到底部的最小路径和为11 (2 + 3 + 5 + 1 = 11)
class Solution { public: vector<vector<int> > dp; int solve(vector<vector<int> >&v,int i,int j,int n){ if(dp[i][j]!=INT_MIN) return dp[i][j]; return dp[i][j]=v[i][j]+(i==n?0:min(solve(v,i+1,j,n),solve(v,i+1,j+1,n))); } int minimumTotal(vector<vector<int> > &triangle) { const int n=triangle.size(); const int m=triangle[n-1].size(); for(int i=0;i<n;++i){ vector<int> base; for(int j=0;j<m;++j) base.push_back(INT_MIN); dp.push_back(base); } solve(triangle,0,0,n-1); } };
相关文章推荐
- 第一章 原始字符串, 模块
- PAT 1007 素数对猜想 --思路比较重要,想清楚再动手
- 【LeetCode】205 - Isomorphic Strings
- iOS基础知识:Objective-C 之 NSDate,NSCalendar,NSTimer
- MySQL聚合函数、控制流程函数(含navicat软件的介绍)
- 为什么是我而不是别人?
- Android中常用adb命令及Log使用
- MediaPlayer播放歌曲
- 多线程之生产者消费者问题
- MySQL聚合函数、控制流程函数(含navicat软件的介绍)
- light oj 1205(数位DP)
- 第七章
- NYOJ--102--次方求模
- HDU - 4421 Bit Magic
- Cocos2d-x 3.0 开发(十四)使用UIScrollView 实现大小不同物品拖动展示
- C++用法的学习心得
- 流水笔记--2015-9-9
- AdaultBird--我的黑马程序员之路!Chapter3---多线程同步,同步唤醒和等待,守护线程,String类,基本数据类型包装类,集合框架中的List和Set
- 欢迎使用CSDN-markdown编辑器
- UVALive 4288 Cat vs. Dog