前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >leetcode: 120. Triangle

leetcode: 120. Triangle

作者头像
JNingWei
发布2019-02-25 15:50:48
3920
发布2019-02-25 15:50:48
举报
文章被收录于专栏:JNing的专栏

Difficulty

Medium.

Problem

代码语言:javascript
复制
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).

Note:

Bonus point if you are able to do this using only O(n) extra space, 
where n is the total number of rows in the triangle.

AC

代码语言:javascript
复制
class Solution():
	def minimumTotal(self, x):
		if not x:
			return 0
		way = [0] * len(x)
		way[0] = x[0][0]
		for i in range(1, len(x)):
			for j in range(len(x[i])-1, -1, -1):
				if j == len(x[i]) - 1:
					way[j] = way[j-1] + x[i][j]
				elif j == 0:
					way[j] = way[j] + x[i][j]
				else:
					way[j] = min(way[j-1], way[j]) + x[i][j]
		return min(way)
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018年11月07日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Difficulty
  • Problem
  • AC
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档