《LeetCode力扣练习》第64题 最小路径和 Java



一、资源

  • 题目:

    给定一个包含非负整数的 m x n 网格 grid ,请找出一条从左上角到右下角的路径,使得路径上的数字总和为最小。

    说明:每次只能向下或者向右移动一步。

    示例 1:

    输入:grid = [[1,3,1],[1,5,1],[4,2,1]]
    输出:7
    解释:因为路径 1→3→1→1→1 的总和最小。

    示例 2:

    输入:grid = [[1,2,3],[4,5,6]]
    输出:12

    提示:

    m == grid.length
    n == grid[i].length
    1 <= m, n <= 200
    0 <= grid[i][j] <= 100
    

    来源:力扣(LeetCode)
    链接:https://leetcode-cn.com/problems/minimum-path-sum
    著作权归领扣网络所有。商业转载请联系官方授权,非商业转载请注明出处。

  • 超时的回溯法
    /*** Created with IntelliJ IDEA.** @author : DuZhenYang* @version : 2022.03.01  18:01:48* description :*/
    public class LeetCode {private int result = Integer.MAX_VALUE;private int right = 1;private int down = 1;private int temp = 0;public int minPathSum(int[][] grid) {int m = grid.length;int n = grid[0].length;temp = grid[0][0];backTrack(grid, m, n);return result;}private void backTrack(int[][] grid, int m, int n) {if (right == n && down == m) {result = Integer.min(result, temp);return;}if (right < n) {right++;temp += grid[down - 1][right - 1];backTrack(grid, m, n);temp -= grid[down - 1][right - 1];right--;}if (down < m) {down++;temp += grid[down - 1][right - 1];backTrack(grid, m, n);temp -= grid[down - 1][right - 1];down--;}}
    }
    
  • 上代码(经过线上OJ测试)
    /*** Created with IntelliJ IDEA.** @author : DuZhenYang* @version : 2022.03.01  18:01:48* description :*/
    public class LeetCode {public int minPathSum(int[][] grid) {int m = grid.length;int n = grid[0].length;int[][] result = new int[m][n];result[0][0] = grid[0][0];for (int i = 1; i < m; i++) {result[i][0] = grid[i][0] + result[i - 1][0];}for (int i = 1; i < n; i++) {result[0][i] = grid[0][i] + result[0][i - 1];}for (int row = 1; row < m; row++) {for (int col = 1; col < n; col++) {result[row][col] = Integer.min(result[row - 1][col], result[row][col - 1]) + grid[row][col];}}return result[m - 1][n - 1];}
    }
    

《LeetCode力扣练习》第64题 最小路径和 Java相关推荐

  1. 《LeetCode力扣练习》第155题 最小栈 Java

    <LeetCode力扣练习>第155题 最小栈 Java 一.资源 题目: 设计一个支持 push ,pop ,top 操作,并能在常数时间内检索到最小元素的栈. 实现 MinStack ...

  2. 《LeetCode力扣练习》剑指 Offer 11. 旋转数组的最小数字 Java

    <LeetCode力扣练习>剑指 Offer 11. 旋转数组的最小数字 Java 一.资源 题目: 把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转. 给你一个可能存在 ...

  3. 《LeetCode力扣练习》第31题 下一个排列 Java

    <LeetCode力扣练习>第31题 下一个排列 Java 一.资源 题目: 整数数组的一个 排列 就是将其所有成员以序列或线性顺序排列. 例如,arr = [1,2,3] ,以下这些都可 ...

  4. 《LeetCode力扣练习》第96题 不同的二叉搜索树 Java

    <LeetCode力扣练习>第96题 不同的二叉搜索树 Java 一.资源 题目: 给你一个整数 n ,求恰由 n 个节点组成且节点值从 1 到 n 互不相同的 二叉搜索树 有多少种?返回 ...

  5. 《LeetCode力扣练习》第75题 颜色分类 Java

    <LeetCode力扣练习>第75题 颜色分类 Java 一.资源 题目: 给定一个包含红色.白色和蓝色.共 n 个元素的数组 nums ,原地对它们进行排序,使得相同颜色的元素相邻,并按 ...

  6. 《LeetCode力扣练习》第62题 不同路径 Java

    <LeetCode力扣练习>第62题 不同路径 Java 一.资源 题目: 一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 "Start" ). ...

  7. 《LeetCode力扣练习》第56题 合并区间 Java

    <LeetCode力扣练习>第56题 合并区间 Java 一.资源 题目: 以数组 intervals 表示若干个区间的集合,其中单个区间为 intervals[i] = [starti, ...

  8. 《LeetCode力扣练习》第55题 跳跃游戏 Java

    <LeetCode力扣练习>第55题 跳跃游戏 Java 一.资源 题目: 给定一个非负整数数组 nums ,你最初位于数组的 第一个下标 . 数组中的每个元素代表你在该位置可以跳跃的最大 ...

  9. 《LeetCode力扣练习》第617题 合并二叉树 Java

    <LeetCode力扣练习>第617题 合并二叉树 Java 一.资源 题目: 给你两棵二叉树: root1 和 root2 . 想象一下,当你将其中一棵覆盖到另一棵之上时,两棵树上的一些 ...

最新文章

  1. 【Codeforces】967C Stairs and Elevators (二分)。
  2. 计算机网络与应用测试题,计算机网络技术与应用测试题
  3. C++/GO/多媒体方向
  4. 道路交通实时流量监控预测系统(大讲台)
  5. springboot 接口404_资深架构带你学习Springboot集成普罗米修斯
  6. 使用相同的原计算机名新建DDC加入原有站点报错
  7. fastText、TextCNN、TextRNN……这里有一套NLP文本分类深度学习方法库供你选择
  8. vb.net怎么和mysql连接_解析VB.NET如何连接数据库
  9. springboot集成kettle9
  10. 计算机视觉——图像检索与识别
  11. java使用keytool 的ssl证书的导入、查看与删除——彻底解决unable to find valid certification path to requested target(好文章!)
  12. Utgard连接OPC Server常见故障码及解决方案
  13. Google工具包Guava——聊聊代码校验Preconditions
  14. android 颜色color.xml文件及部分中英文对照
  15. 文件服务器如何异地备份,实战演示如何进行异地自动备份数据库
  16. 服务器故障英文邮件,全球邮
  17. 教你怎么不添加付款方式订阅苹果arcade
  18. Matlab 绘图画出y=sin(x)在[0,2*PI]上的图像
  19. C:1094统计元音(函数专题)
  20. 时间序列多步预测的五种策略

热门文章

  1. mysql相关操作_mysql相关操作(2)
  2. linux管理用户组,技术|如何在 Linux 系统中通过用户组来管理用户
  3. 语音识别数据集的处理在训练之前
  4. 安卓和ios抓包神器
  5. Mysql学习总结(3)——MySql语句大全:创建、授权、查询、修改等
  6. Netflix CEO哈斯廷斯:内容为王 公司潜力依然巨大
  7. SQLiteOpenHelper类
  8. mybatis学习笔记(7)-输出映射
  9. Windows 2003 标准版_企业版_SP1_SP2_R2的区别
  10. 100w个整数中,每个数各不相同,且都小于100w,问如何快速的排序