LintCode最小路徑和

給定一個只含非負整數的m*n網格,找到一條從左上角到右下角的可以使數字和最小的路徑。
樣例
注意
你在同一時間只能向下或者向右移動一步

public class Solution {
    /**
     * @param grid: a list of lists of integers.
     * @return: An integer, minimizes the sum of all numbers along its path
     */
   public int minPathSum(int[][] grid) {
        if(null == grid)
            return 0;
        int row = grid.length;
        int col = grid[0].length;
        if(row <= 0 || col <= 0)
            return 0;
        int[][] steps = new int[row][col];
        steps[0][0] = grid[0][0];
        for(int i = 1;i < row;i++)
        {
            steps[i][0] += steps[i - 1][0] + grid[i][0];
        }
        
        for(int i = 1;i < col;i++)
        {
            steps[0][i] += steps[0][i - 1] + grid[0][i];
        }
    
        for(int i = 1;i < row;i++)
        {
            for(int j = 1;j < col;j++)
            {
                steps[i][j] = Math.min(steps[i - 1][j], steps[i][j - 1]) + grid[i][j];
            }
        }
    
        return steps[row - 1][col - 1];
    }
}
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 題目 給定一個只含非負整數的m*n網格,找到一條從左上角到右下角的可以使數字和最小的路徑。 ** 注意事項你在同一...
    六尺帳篷閱讀 1,252評論 0 1
  • 問題: 給定一個只含非負整數的m*n網格,找到一條從左上角到右下角的可以使數字和最小的路徑。你在同一時間只能向下或...
    留十夜閱讀 548評論 0 0
  • 描述 給定一個只含非負整數的m*n網格,找到一條從左上角到右下角的可以使數字和最小的路徑。 注意事項 你在同一時間...
    6默默Welsh閱讀 126評論 0 0
  • 乍一聽這書的名字有點“雞湯”,跟蔡瀾的《我決定活的有趣》有點相似,叫《生活是很好玩的》,作者汪曾祺。 蔡瀾的《有趣...
    慕瑾禾ivy閱讀 687評論 0 0
  • 沉郁的 冬日 陰沉得化不開 迷蒙慵懶 百無聊奈 一抹綠 亮了心懷 還是 應該有激情吧 向上的生命 恰如 這抹綠 盎...
    烏鴉一只閱讀 330評論 1 4