Leetcode 120
class Solution {
public:
int minimumTotal(vector<vector<int>>& triangle) {
if(triangle.size() == ) return triangle[][];
triangle[][] += triangle[][];triangle[][] += triangle[][];
if(triangle.size() == ) return min(triangle[][],triangle[][]);
int a = min(triangle[][],triangle[][]);
for(int i=;i < ;i++){
triangle[][i] += a;
}
triangle[][] += triangle[][];
for(int i=;i < triangle.size();i++){
triangle[i][] += min(triangle[i-][],triangle[i-][]);
for(int j=;j < triangle[i].size()-;j++){
int x = min(triangle[i-][j-],triangle[i-][j]);
int y = min(x,triangle[i-][j+]);
triangle[i][j] += y;
}
triangle[i][triangle[i].size()-] += min(triangle[i-][triangle[i].size()-],triangle[i-][triangle[i].size()-]);
triangle[i][triangle[i].size()-] += triangle[i-][triangle[i].size()-];
}
return findmin(triangle[triangle.size()-]);
}
int findmin(vector<int> temp){
int minnum = temp[];
for(int i=;i < temp.size();i++){
if(minnum > temp[i]) minnum = temp[i];
}
return minnum;
}
};
——题意没写清楚,相邻是左中右还是中右,WA了一发
class Solution {
public:
int minimumTotal(vector<vector<int>>& triangle) {
if(triangle.size() == ) return triangle[][];
triangle[][] += triangle[][];triangle[][] += triangle[][];
for(int i=;i < triangle.size();i++){
triangle[i][] += triangle[i-][];
for(int j=;j < triangle[i].size()-;j++){
triangle[i][j] += min(triangle[i-][j-],triangle[i-][j]);
}
triangle[i][triangle[i].size()-] += triangle[i-][triangle[i].size()-];
}
return findmin(triangle[triangle.size()-]);
}
int findmin(vector<int> temp){
int minnum = temp[];
for(int i=;i < temp.size();i++){
if(minnum > temp[i]) minnum = temp[i];
}
return minnum;
}
};
_
Leetcode 120的更多相关文章
- [LeetCode 120] - 三角形(Triangle)
问题 给出一个三角形,找出从顶部至底部的最小路径和.每一步你只能移动到下一行的邻接数字. 例如,给出如下三角形: [ [2], [3,4], [6,5,7], [4,1,8,3] ] 从顶部至底部的最 ...
- LeetCode 120. Triangle (三角形)
Given a triangle, find the minimum path sum from top to bottom. Each step you may move to adjacent n ...
- 算法练习 —— LeetCode 1-20题
一.两数之和 1.1 题目描述 给定一个整数数组和一个目标值,找出数组中和为目标值的两个数. 你可以假设每个输入只对应一种答案,且同样的元素不能被重复利用. 示例: 给定 nums = [2, 7, ...
- leetcode 1-20 easy
1.Two Sum Given an array of integers, return indices of the two numbers such that they add up to a s ...
- Java实现 LeetCode 120 三角形最小路径和
120. 三角形最小路径和 给定一个三角形,找出自顶向下的最小路径和.每一步只能移动到下一行中相邻的结点上. 例如,给定三角形: [ [2], [3,4], [6,5,7], [4,1,8,3] ] ...
- LeetCode - 120. Triangle
Given a triangle, find the minimum path sum from top to bottom. Each step you may move to adjacent n ...
- leetcode 120 Triangle ----- java
Given a triangle, find the minimum path sum from top to bottom. Each step you may move to adjacent n ...
- [LeetCode] 120. Triangle _Medium tag: Dynamic Programming
Given a triangle, find the minimum path sum from top to bottom. Each step you may move to adjacent n ...
- [leetcode 120]triangle 空间O(n)算法
1 题目 Given a triangle, find the minimum path sum from top to bottom. Each step you may move to adjac ...
随机推荐
- 【JS】js操作json object
//将表单序列化成字符串 $.fn.serializeObject = function () { var obj = {}; var count = 0; $.each(this.serialize ...
- 【AI】微软人工智能学习笔记(三)
微软R服务 01|开源的R R实际上是统计学的编程语言,主要作用是对数据挖掘,统计,分析,可视化,机器学习等. 02|微软R 03| HDInsight R Spark集群存储在azure blob ...
- A successful Git branching model——经典篇
A successful Git branching model In this post I present the development model that I’ve introduced f ...
- Latex 左右引号
参考: LaTeX技巧218:LaTeX如何正确输入引号:双引号""单引号'' Latex 左右引号 在latex中加引号时,使用""的输出为两个同向的引号: ...
- 如何判断一个单向链表是否为回文链表(Palindrome Linked List)
题目:给定一个单向链表,判断它是不是回文链表(即从前往后读和从后往前读是一样的).原题见下图,还要求了O(n)的时间复杂度O(1)的空间复杂度. 我的思考: 1,一看到这个题目,大脑马上想到的解决方案 ...
- vscode "没有活动的源代码控制提供程序" 解决办法
确保安装git F1,输入Show built-in Extensions, 左侧列表中找Git,然后启用即可
- TensorFlow 安装以及python虚拟环境
python虚拟环境 由于TensorFlow只支持某些版本的python解释器,如Python3.6.如果其他版本用户要使用TensorFlow就必须安装受支持的python版本.为了方便在不同项目 ...
- _itemmod_strengthen_item
`enchant_id`升级后的附魔Id `prev_enchant_id` 上级附魔Id `description` 描述,出现在菜单中 `enchantReqId`升级附魔效果的消耗模板 `rem ...
- 下载安装tomcat和jdk,配置运行环境,与Intellij idea 2017关联
第一篇博客,最近公司要用java和jsp开发新的项目,第一次使用Intellij idea 2017,有很多地方需要一步步配置,有些按照网上的教程很快就配置好了,有的还是琢磨了一会儿,在这里做一个记录 ...
- onpause 与 onresume