LintCode110 最小路徑和

問題:

給定一個(gè)只含非負(fù)整數(shù)的m*n網(wǎng)格,找到一條從左上角到右下角的可以使數(shù)字和最小的路徑。
你在同一時(shí)間只能向下或者向右移動(dòng)一步

分析:

  • F(n,m)表示棋盤大小為n*m時(shí)走法數(shù)量
  • F(n,m) = F(n-1,m) + F(n,m-1)
  • 棋盤退化成條狀時(shí)邊界處理(此時(shí)只有一個(gè)方向)

代碼:

直觀理解,開二維數(shù)組

int minPathSum(vector<vector<int> > &grid) {
        // write your code here
        int m = grid.size();
        int n = grid[0].size();
        vector<vector<int>> dp(m,vector<int>(n,0));
        dp[0][0]=grid[0][0];
        for(int i=1;i<m;++i){
            dp[i][0] = dp[i-1][0]+grid[i][0];
        }
        for(int j=1;j<n;++j){
            dp[0][j] = dp[0][j-1]+grid[0][j];
        }
        
        for(int i=1;i<m;++i){
            for(int j=1;j<n;++j){
                dp[i][j] = grid[i][j]+min(dp[i-1][j],dp[i][j-1]);
            }
        }
        return dp[m-1][n-1];
    }

省去一維(習(xí)慣上保留一行,嚴(yán)格來說應(yīng)該保留m,n中長(zhǎng)度較小的一個(gè))

int minPathSum(vector<vector<int> > &grid) {
        // write your code here
        int m = grid.size();
        int n = grid[0].size();
        vector<int> dp(n);
        dp[0]=grid[0][0];
        for(int j=1;j<n;++j){
            dp[j] = dp[j-1]+grid[0][j];
        }
        for(int i=1;i<m;++i){
            for(int j=0;j<n;++j){
                if(j==0){
                    dp[j] = grid[i][j]+dp[j];
                }
                else{
                    dp[j] = grid[i][j]+min(dp[j],dp[j-1]);
                }
            }
        }
        return dp[n-1];
    }
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 1 序 2016年6月25日夜,帝都,天下著大雨,拖著行李箱和同學(xué)在校門口照了最后一張合照,搬離寢室打車去了提前租...
    RichardJieChen閱讀 5,377評(píng)論 0 12
  • 題目 給定一個(gè)只含非負(fù)整數(shù)的m*n網(wǎng)格,找到一條從左上角到右下角的可以使數(shù)字和最小的路徑。 ** 注意事項(xiàng)你在同一...
    六尺帳篷閱讀 1,286評(píng)論 0 1
  • 作為一個(gè)粘人,不獨(dú)立自主,有自己生活的女朋友,我有必要揭露事實(shí)真相了。 某男性好友B曾經(jīng)愛過一個(gè)姑娘,皮膚白...
    香雪海的孤獨(dú)閱讀 4,402評(píng)論 0 2
  • 我們這邊小學(xué)使用英語教材的第一批學(xué)生今年剛好大學(xué)畢業(yè),算來使用有13年之久。然而,直到現(xiàn)在,從大多數(shù)來輔導(dǎo)班的學(xué)生...
    劉忙不盲閱讀 418評(píng)論 2 0
  • 這段對(duì)我來說的感情, 像得了癌癥晚期一樣, 不肯能在被繼續(xù)和挽回。 朋友總是三天問一次我,還不放手嗎?還舍不得放手...
    rosequeen閱讀 166評(píng)論 0 0

友情鏈接更多精彩內(nèi)容