[Leetcode]64. 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.

Example:

Input:
[
[1,3,1],
[1,5,1],
[4,2,1]
]
Output: 7
Explanation: Because the path 1→3→1→1→1 minimizes the sum.

題目解釋:就是從數(shù)組的左上角走到數(shù)組右下角的最短路徑
解法一:正向

class Solution {
public:
    int minPathSum(vector<vector<int>>& grid) {
        int m = grid.size();
        int n = grid[0].size();
        int dip[m][n];   // c++定義數(shù)組的方式,dip數(shù)組中存放grid中相應(yīng)位置的最短路徑
        dip[0][0] = grid[0][0];
        for(int i = 1; i < m; i++) dip[i][0] = grid[i][0]+dip[i-1][0];//把上邊緣放入
        for(int j = 1; j < n; j++) dip[0][j] = grid[0][j]+dip[0][j-1];//把左邊緣放入
        for(int i = 1; i < m; i++){
            for(int j = 1; j < n; j++){
                dip[i][j] = min(dip[i-1][j],dip[i][j-1])+grid[i][j];
            }
        }
        return dip[m-1][n-1];
    }
}

解法二:遞歸慢蜓,逆向舌劳,超時

class Solution {
public:
    int minPathSum(vector<vector<int>>& grid) {
         return funn(grid,grid.size()-1,grid[0].size()-1);
    }
    // 遞歸 超時
    int funn(vector<vector<int>>& grid,int row,int col){         
        if(row == 0 &&  col == 0) return grid[0][0];// 防止到grid[0][0]處返回的是INT_MAX;
        if(row >= 0 && row < grid.size()&& col >= 0 && col < grid[0].size()){
            int leftmin = funn(grid,row,col-1); // 左二維數(shù)組最小和
            int rightmin = funn(grid,row-1,col); // 右二維數(shù)組最小和
            return min(leftmin,rightmin)+grid[row][col];
        }
        return INT_MAX;
    }
};
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末魂爪,一起剝皮案震驚了整個濱河市几于,隨后出現(xiàn)的幾起案子黎侈,更是在濱河造成了極大的恐慌馆蠕,老刑警劉巖痹仙,帶你破解...
    沈念sama閱讀 218,755評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件是尔,死亡現(xiàn)場離奇詭異,居然都是意外死亡蝶溶,警方通過查閱死者的電腦和手機嗜历,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,305評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來抖所,“玉大人梨州,你說我怎么就攤上這事√镌” “怎么了暴匠?”我有些...
    開封第一講書人閱讀 165,138評論 0 355
  • 文/不壞的土叔 我叫張陵,是天一觀的道長傻粘。 經(jīng)常有香客問我每窖,道長帮掉,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,791評論 1 295
  • 正文 為了忘掉前任窒典,我火速辦了婚禮蟆炊,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘瀑志。我一直安慰自己涩搓,他們只是感情好,可當我...
    茶點故事閱讀 67,794評論 6 392
  • 文/花漫 我一把揭開白布劈猪。 她就那樣靜靜地躺著昧甘,像睡著了一般。 火紅的嫁衣襯著肌膚如雪战得。 梳的紋絲不亂的頭發(fā)上充边,一...
    開封第一講書人閱讀 51,631評論 1 305
  • 那天,我揣著相機與錄音常侦,去河邊找鬼浇冰。 笑死,一個胖子當著我的面吹牛刮吧,可吹牛的內(nèi)容都是我干的湖饱。 我是一名探鬼主播,決...
    沈念sama閱讀 40,362評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼杀捻,長吁一口氣:“原來是場噩夢啊……” “哼井厌!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起致讥,我...
    開封第一講書人閱讀 39,264評論 0 276
  • 序言:老撾萬榮一對情侶失蹤仅仆,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后垢袱,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體墓拜,經(jīng)...
    沈念sama閱讀 45,724評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,900評論 3 336
  • 正文 我和宋清朗相戀三年请契,在試婚紗的時候發(fā)現(xiàn)自己被綠了咳榜。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,040評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡爽锥,死狀恐怖涌韩,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情氯夷,我是刑警寧澤臣樱,帶...
    沈念sama閱讀 35,742評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響雇毫,放射性物質(zhì)發(fā)生泄漏玄捕。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,364評論 3 330
  • 文/蒙蒙 一棚放、第九天 我趴在偏房一處隱蔽的房頂上張望枚粘。 院中可真熱鬧,春花似錦席吴、人聲如沸赌结。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,944評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至拟杉,卻和暖如春庄涡,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背搬设。 一陣腳步聲響...
    開封第一講書人閱讀 33,060評論 1 270
  • 我被黑心中介騙來泰國打工穴店, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人拿穴。 一個月前我還...
    沈念sama閱讀 48,247評論 3 371
  • 正文 我出身青樓泣洞,卻偏偏與公主長得像,于是被迫代替她去往敵國和親默色。 傳聞我的和親對象是個殘疾皇子球凰,可洞房花燭夜當晚...
    茶點故事閱讀 44,979評論 2 355

推薦閱讀更多精彩內(nèi)容