博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
LeetCode 64 Minimum Path Sum--In C++
阅读量:4090 次
发布时间:2019-05-25

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

思路:

用动态规划的话,速度是最快的。

状态迁移方程:mat[i][j] = (mat[i][j + 1]<mat[i + 1][j] ? mat[i][j + 1] : mat[i + 1][j]) + grid[i][j];

即要找到一个格子的下边和右边较小的值,在加上grid中给他的值,作为mat中这个位置的最终值。

int minPathSum(vector
>& grid) { int m = grid.size(); if (m == 0){ return 0; } int n = grid[0].size(); int** mat = new int*[m](); for (int i = 0; i < m; i++){ mat[i] = new int[n](); } mat[m - 1][n - 1] = grid[m-1][n-1]; for (int i = m - 1; i >= 0; i--){ for (int j = n - 1; j >= 0; j--){ if (i == m - 1 && j == n - 1){ continue; } if (j == n - 1){ mat[i][j] = mat[i + 1][j] + grid[i][j];//最底最右的边,等于自身值加前空的值 } else if (i == m - 1){ mat[i][j] = mat[i][j + 1] + grid[i][j]; } else{ mat[i][j] = (mat[i][j + 1]

你可能感兴趣的文章
VUe+webpack构建单页router应用(一)
查看>>
Vue+webpack构建单页router应用(二)
查看>>
从头开始讲Node.js——异步与事件驱动
查看>>
Node.js-模块和包
查看>>
Node.js核心模块
查看>>
express的应用
查看>>
NodeJS开发指南——mongoDB、Session
查看>>
Express: Can’t set headers after they are sent.
查看>>
2017年,这一次我们不聊技术
查看>>
实现接口创建线程
查看>>
Java对象序列化与反序列化(1)
查看>>
HTML5的表单验证实例
查看>>
JavaScript入门笔记:全选功能的实现
查看>>
程序设计方法概述:从面相对象到面向功能到面向对象
查看>>
数据库事务
查看>>
JavaScript基础1:JavaScript 错误 - Throw、Try 和 Catch
查看>>
SQL基础总结——20150730
查看>>
SQL join
查看>>
JavaScript实现页面无刷新让时间走动
查看>>
CSS实例:Tab选项卡效果
查看>>