120. Triangle(三角矩阵)
这道题虽然说是三角矩阵,但是可以将它转化为一个下三角矩阵,那就跟二维数组差不多了,接下来就是按照正常的动态规划的思路了。注意到这题题意表明是从上往下找出最短路径和,但是仔细想想就知道从上往下肯定有问题。从上往下的遍历,其实相当于贪心算法,但是在这题里布恩那个保证局部最优=全局最优,因为前面的决策可能影响后面的选择,从而导致选不到更小的最小路径和。因此我的代码是从下往上进行遍历并且将当前路径和保存在二维数组内,这样就保证每一条路径不论大小都能遍历到,也能找出最小路径和。
class Solution {
public:int minimumTotal(vector<vector<int>>& triangle) {if (triangle.size() == 0)return 0;int m = triangle.size(), n = triangle[m - 1].size();vector<vector<int>> dp(m, vector<int>(n, 0));for (int i = 0; i < n; i++)dp[m - 1][i] = triangle[m - 1][i]; //最后一行的值可以直接填到dp数组内,因为最后一行是为路径起点for (int i = m - 2; i >= 0; i--)for (int j = 0; j < n; j++)dp[i][j] = min(dp[i + 1][j], dp[i + 1][j + 1]) + triangle[i][j];return dp[0][0];}
};
120. Triangle(三角矩阵)相关推荐
- [数据结构-严蔚敏版]P95矩阵压缩-特殊矩阵的存储(对称矩阵,三角矩阵)
对称矩阵的存储: 代码如下: #include <iostream> using namespace std;int main() {int n;cin >> n;int *a ...
- 【DP】LeetCode 120. Triangle
LeetCode 120. Triangle Solution1:我的答案 真费劲啊!!! 啊!!!!!! class Solution { public:int minimumTotal(vecto ...
- 数据结构-矩阵-三角矩阵(Java语言)
详细的代码可见github: https://github.com/AbitGo/myClassWork/tree/master/workspace_ds 三角矩阵是方形矩阵的一种,因其非零系数的排列 ...
- 数据结构--三角矩阵的压缩存储
三角矩阵 三角矩阵的常用压缩方式有两种: 线性压缩 使用三角形的二维数组压缩 线性压缩存储三角矩阵 下三角矩阵: 上三角矩阵: 以下三角矩阵的线性压缩存储为例,进行实现: package pers.z ...
- 一维数组二维数组对称矩阵三角矩阵三对角矩阵地址的计算
一维数组的地址计算 设每个元素的大小是size,首元素的地址是a[1],则 a[i] = a[1] + (i-1)*size 若首元素的地址是a[0] 则a[i] = a[0] + i*size 二维 ...
- 三角矩阵的存储和获取(C++版)
下三角矩阵如图, 三角形区域首先被存储,框型区域最后被存储于数组的最后一个元素中. 代码及测试结果: #include<stdio.h> #include<stdlib.h># ...
- 20211115 任意n阶方阵均与三角矩阵(上三角或者下三角)相似
设 A\boldsymbol{A}A 为 nnn 阶矩阵, 它的特征多项式为 φ(λ)=det(λI−A)=(λ−λ1)(λ−λ2)⋯(λ−λn)\varphi(\lambda)=\operator ...
- 特殊矩阵的压缩存储(对称矩阵,三角矩阵,对角矩阵,稀疏矩阵的顺序,链序存储,十字链表的建立)
特殊矩阵的压缩存储 压缩存储的定义: 若多个数据元素的值都相同,则只分配一个元素值的存储空间,且 零元素不占存储空间. 能够压缩的一些矩阵: 一些特殊矩阵,如:对称矩阵,对角矩阵,三角矩阵,稀疏矩阵等 ...
- 数据结构 C/C++ 三角矩阵
#include<stdio.h> int main() {int M,N;printf("请输入矩阵阶数n:");scanf("%d",& ...
- 数值分析——三角矩阵排序向量及求解过程
三角矩阵排序向量及求解过程 问题 对于一个三角矩阵,如何得到排序向量 ppp ?给出算法并用程序实现它: 请实现三角系统的向前带入算法,给出程序并通过算例验证: 请给出三角系统的向后带入算法,给出程序 ...
最新文章
- PHP安装parsekit扩展查看opcode
- 计算机班级logo设计图案简单,班级的标志设计的简洁好看图片
- java solr 实现_Java实现全文检索-Solr后台管理
- 20行python代码的入门级小游戏-用Python设计一个经典小游戏
- Go中线程和协程的区别
- MATLAB仿真TSC在哪里找,-bash:tsc:找不到命令
- 为什么我建议每个开发人员都需要学Python?不看会后悔!
- Android背景透明的 Dialog
- JS内置对象练习(慕课网题目)
- eclipse中pom文件的查看
- 【小样本基础】「MAML」 VS 「Model-Pre-training」MAML与预训练的区别
- RPLIDAR最强参数详解
- Autojs微信自动操作免root脚本源码
- matlab模拟正态分布曲线拟合,[MATLAB数学相关] 急请教:正态分布曲线拟合问题
- c#模拟看板控件_C#TIPTOP电子看板
- 联邦学习论文阅读笔记
- 诚之和:字节再迎裁员潮温州百人“大撤退”、ohayoo应届生“团灭”
- Java使用POI实现导出Word文档
- Python requests库Proxy代理问题
- 『Others』一键关闭所有应用程序
热门文章
- 一次LoadLibrary调用失败的调试经历
- 【第一组】第十一次例会纪要
- Unity TimeLine学习笔记
- ethtool如何让接口闪灯_如何使用ethtool命令管理以太网卡
- django里template中的书名号
- 建Kangle+EasyPanel对接SWAP IDC虚拟主机自助开通完整教程
- instantDrag for Maya脚本 (移动模型时沿目标模型移动)
- Taro微信小程序使用getUserProfile获取微信用户头像昵称等信息
- 行业分析报告|项目货运物流市场现状及未来发展趋势
- 小米手机通过USB连接电脑,共享使用电脑的网络