zoukankan      html  css  js  c++  java
  • 动态规划---从左上角到右下角的价值最大的路径

    编程题:动态规划---从左上角到右下角的价值最大的路径

    腾讯2016年4月2号暑假实习移动开发岗的笔试题,编程题第一题大概题目是:

    一个m*n的矩阵,只能向右走或是向下走,矩阵每一个元素代表一个财富值,要求打印出从左上角到右下角走的财富最大总值。

    如输入m=4 ,n=5,

    输入矩阵value=

    { 0 0 7 0 0,

      0 0 0 5 0,

      2 0 4 0 0,

      0 0 0 3 0},

    打印出最大财富总值是15。

    这是动态规划的题目,跟“[leetcode 64] Minimum Path Sum------从左上角到右下角的最小路径值”的思路是一样的,


    C++的参考代码如下:

    编程题:动态规划---从左上角到右下角的价值最大的路径
    原创 2016年04月03日 14:55:14 247611
    腾讯2016年4月2号暑假实习移动开发岗的笔试题,编程题第一题大概题目是:
    
    一个m*n的矩阵,只能向右走或是向下走,矩阵每一个元素代表一个财富值,要求打印出从左上角到右下角走的财富最大总值。
     如输入m=4 ,n=5,
    输入矩阵value=
    { 0 0 7 0 00 0 0 5 0,
      2 0 4 0 0,
      0 0 0 3 0},
    打印出最大财富总值是15。
    这是动态规划的题目,跟“[leetcode 64] Minimum Path Sum------从左上角到右下角的最小路径值”的思路是一样的,
    
    
    C++的参考代码如下:
    [cpp] view plain copy
    #include <iostream>  
    #include <cstdio>  
    #include <algorithm>  
      
    using namespace std;  
      
    int value[1024][1024];  
      
    int main()  
    {  
        int m, n;  
        scanf_s("%d%d", &m, &n);  
      
        //输入矩阵  
        for (int i = 0; i < m; ++i)  
        {  
            for (int j = 0; j < n; ++j)  
            {  
                scanf_s("%d", &value[i][j]);  
            }  
        }  
      
        //计算  
        for (int i = 1; i < m; ++i)  
        {  
            value[i][0] += value[i - 1][0];  
        }  
        for (int j = 1; j < n; ++j)  
        {  
            value[0][j] += value[0][j - 1];  
        }  
        for (int i = 1; i < m; ++i)  
        {  
            for (int j = 1; j < n; ++j)  
            {  
                value[i][j] += max(value[i - 1][j], value[i][j - 1]);  
            }  
        }  
      
        ////打印调试  
        //for (int i = 0; i < m; ++i)  
        //{  
        //  for (int j = 0; j < n; ++j)  
        //  {  
        //      cout << value[i][j] << " ";  
        //  }  
        //  cout << endl;  
        //}  
        //cout << endl;  
      
        cout << value[m - 1][n - 1] << endl;  
      
        return 0;  
    }  

     

  • 相关阅读:
    android 源码编译 问题 列表
    springboot总结
    设计模式学习笔记
    JWT入门1
    oauth2入门github
    mybatis面试题
    shiro入门
    knife4j swagger API文档
    pahole安装(编译)
    goMySql的逆向工程
  • 原文地址:https://www.cnblogs.com/smuxiaolei/p/7502256.html
Copyright © 2011-2022 走看看