zoukankan      html  css  js  c++  java
  • 动态规划——走方格

    问题描述:给定一个矩阵m,从左上角开始每次只能向下或者向左走,最后到达右下角的位置,路径上的数字累加起来就是路径和,返回所有路径中最小路径和。如果给定矩阵如下,则路径1,3,1,0,6,0是所有路径中路径和最小的,所以返回12.。

                                                                                 1 3 5 9

                                                                                 8 1 3 4

                                                                                 5 0 6 1

                                                                                 8 8 4 0

    int func(int *m, int n)
    {
    	memset(dp, 0, sizeof(int) * sizeof(dp));
    	dp[0][0] = m[0];
    	for (int i = 1; i < n; i++)
    	{
    		dp[0][i] = p[i] + dp[0][i - 1];
    		dp[i][0] = p[i * n] + dp[i - 1][0];
    	}
    	for (int i = 1; i < n; i++)
    		for (int j = 1; j < n; j++)
    			dp[i][j] = m[j + i * n] + min(dp[i - 1][j], dp[i][j - 1]);
    
        return dp[n - 1][n - 1];
    }
    天上我才必有用,千金散尽还复来!
  • 相关阅读:
    手动安装cockpit(linux web consol)
    fedora 安装apc smart750 UPS
    windows自动登录和域电脑自动登录域
    docker常用命令
    samba
    ETF:pcf文件制作
    ETF计算公司:现金差额
    ETF参数:现金替代标志
    ETF计算公式:IOPV
    ETF:现金替代标志
  • 原文地址:https://www.cnblogs.com/lutaishi/p/13436306.html
Copyright © 2011-2022 走看看