LeetCode Triangle
来源:互联网 发布:sql中replace函数用法 编辑:程序博客网 时间:2024/05/23 18:33
题目得说明路径不能跨越,否则的话,每层找最小的就可以了。为什么多提交两次呢?dp[j] = (dp[j]>dp[j+1]?dp[j+1]:dp[j]) + triangle[i][j];要是条件表达式不加括号的话不可以,那样的话后面的加法就没加上。还有一点就是j从小到大遍历,否则的话会覆盖结果,正常人都会从小到大。
// LeetCode_Triangle.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include <iostream>#include <vector>using namespace std;int minimumTotal(vector<vector<int> > &triangle) {int row = triangle.size();int column;int ret = 0;if(row!=0)column = triangle[row-1].size();elsereturn ret;int *dp = new int[column];for(int i=0;i<column;i++)dp[i] = triangle[row-1][i];for (int i=row-2;i>=0;i--){for (int j=0;j<=i;j++){dp[j] = (dp[j]>dp[j+1]?dp[j+1]:dp[j]) + triangle[i][j];}}ret = dp[0];delete[] dp;return ret;}int _tmain(int argc, _TCHAR* argv[]){vector<int> temp;vector<vector<int> > tri;temp.push_back(-1);tri.push_back(temp);temp.clear();temp.push_back(2);temp.push_back(3);tri.push_back(temp);temp.clear();temp.push_back(1);temp.push_back(-1);temp.push_back(-1);tri.push_back(temp);cout<<minimumTotal(tri);system("pause");return 0;}
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
- 在运行期通过反射了解JVM内部机制
- 时间复杂度计算实例
- 这些年,和oracle叫过的劲
- 黑马程序员---交通灯管理系统
- mysql 查询重复记录
- LeetCode Triangle
- jQuery跨域调用WebService简介
- STM32F10系列的管脚复用功能和AFIO
- 深入JVM的Class文件结构
- 关于64位UBUNTU硬盘安装方式详解,和提示找不到"vmlinuz"的分析
- Cocos2dx 3.0 过渡篇(十七) std::bind与CC_CALLBACK不得不说的故事
- 配置IIS7.5的过程
- C语言的谜题
- ASP.NET之如何用代码读取数据1