博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
120. Triangle 以及一个多维vector如何初始化
阅读量:5994 次
发布时间:2019-06-20

本文共 2162 字,大约阅读时间需要 7 分钟。

1.刚开始result的初始化写的是vector<vector<int>> result,然后再去对result[0][0] = triangle[0][0]赋值,一直报错。老问题了!

2.多维vector的初始化:

vector<vector<int>> result(height,vector<int>(width))

class Solution {public:    int minimumTotal(vector
>& triangle) { int height = triangle.size(); if(height <= 0) return 0; if(height == 1) return triangle[0][0]; int width = triangle[height-1].size(); vector
> result(height,vector
(width)); result[0][0] = triangle[0][0]; for(int i = 1;i < height;i++){ width = triangle[i].size(); for(int j = 0;j < width;j++){ if(j !=0 && j != (width-1)){ result[i][j] = min(result[i-1][j] + triangle[i][j],result[i-1][j-1] + triangle[i][j]); } else if(j == 0) result[i][j] = result[i-1][j] + triangle[i][j]; else result[i][j] = result[i-1][j-1] + triangle[i][j]; } } int min_num = 0x7fffffff; for(int i = 0;i < triangle[height-1].size();i++){ if(min_num > result[height-1][i]) min_num = result[height-1][i]; } return min_num; }};

 简化版

class Solution {public:    int minimumTotal(vector
>& triangle) { int length = triangle.size(); vector
> result(length,vector
(length)); result[0][0] = triangle[0][0]; for(int i = 1;i < length;i++){ for(int j = 0;j <= i;j++){ if(j == 0) result[i][j] = result[i-1][j] + triangle[i][j]; else if(j == i) result[i][j] = result[i-1][j-1] + triangle[i][j]; else result[i][j] = min(result[i-1][j],result[i-1][j-1]) + triangle[i][j]; } } int min_num = 0x7FFFFFFF; for(int i = 0;i < length;i++){ if(result[length-1][i] < min_num) min_num = result[length-1][i]; } return min_num; }};

 

转载地址:http://xdqlx.baihongyu.com/

你可能感兴趣的文章
让Win8自动登录免输入密码的小技巧
查看>>
RSA3:预提取数据
查看>>
MinGW 介绍
查看>>
注册域名到搜索引擎
查看>>
Eclipse中如何安装和使用GrepCode插件 (转)
查看>>
神经网络和机器学习、强人工智能
查看>>
JavaScript内部原理实践——真的懂JavaScript吗?(转)
查看>>
【DeepLearning】Exercise:Softmax Regression
查看>>
Android JNI入门第四篇——Android.mk文件分析
查看>>
Get a developer license for windows store app
查看>>
策略模式
查看>>
Android Studio导入第三方类库的方法
查看>>
zxing二维码
查看>>
.NET平台下的微信SDK(Rabbit.WeiXin)开源发布
查看>>
简要介绍如何集成Vitamio安卓版SDK
查看>>
BZOJ1107 : [POI2007]驾驶考试egz
查看>>
div与span区别及用法
查看>>
Senparc.Weixin.MP SDK 微信公众平台开发教程(十六):AccessToken自动管理机制
查看>>
【转载】COM小结
查看>>
[android] AndroidManifest.xml - 【 manifest -> permission】
查看>>