zoukankan      html  css  js  c++  java
  • Minimum Path Sum

    题目

    Given a m x n grid filled with non-negative numbers, find a path from top left to bottom right which minimizes the sum of all numbers along its path.

    Note: You can only move either down or right at any point in time.

    方法

    从左上方到右下方,仅仅能向下和向右移动。

    按行进行处理。

        public int minPathSum(int[][] grid) {
            if (grid == null) {
                return 0;
            }
            int lenI = grid.length;
            if (lenI == 0) {
                return 0;
            }
            int lenJ = grid[0].length;
            if (lenJ == 0) {
                return 0;
            }
            
            for (int i = 0; i < lenI; i++) {
                for (int j = 0; j < lenJ; j++) {
                    if (!(i == 0 && j ==0)) {
                        if (i == 0) {
                            grid[i][j] = grid[i][j - 1] + grid[i][j];
                        } else if (j == 0) {
                            grid[i][j] = grid[i - 1][j] + grid[i][j];
                        } else {
                            grid[i][j] = Math.min(grid[i][j - 1] + grid[i][j], grid[i - 1][j] + grid[i][j]);
                        }
                    }
                }
            }
            return grid[lenI - 1][lenJ - 1];
        }


  • 相关阅读:
    程序员外包网站
    网络测试
    数据库系统在线网课
    字体
    正则表达式测试工具
    豆瓣Top250数据可视化
    前端模板
    豆瓣Top250电影爬取
    PyCharm激活码
    爬虫禁止访问解决方法(403)
  • 原文地址:https://www.cnblogs.com/claireyuancy/p/7340820.html
Copyright © 2011-2022 走看看