zoukankan      html  css  js  c++  java
  • LeetCode 62. Unique Paths Java

    题目:

    A robot is located at the top-left corner of a m x n grid (marked 'Start' in the diagram below).

    The robot can only move either down or right at any point in time. The robot is trying to reach the bottom-right corner of the grid (marked 'Finish' in the diagram below).

    How many possible unique paths are there?

    Above is a 3 x 7 grid. How many possible unique paths are there?

    Note: m and n will be at most 100.

    题意:给出一个m*n的网格,有一个机器人,每一步只能向右或者向下走,求能从最左上角的格子到最右下角的格子有多少种走法。这道题是典型的动态规划,将网格看成一个二维数组A[m][n],那么我们要求的就是从A[0][0]到A[m-1][n-1]的路径,对于其中任意一点A[i][j](i<m,j<n)来说,到该点的方法有从A[i-1][j]向下走一步或者A[i][j-1]向右走一步,所以d(A[i][j])=d(A[i-1][j])+d(A[i][j-1])。对每个点遍历求解即可。这里需要注意对第一行和第一列上的所有点都只有一种走法。

    代码:

    public class Solution {
    
    	public int uniquePaths(int m, int n) {
    		if(m==0||n==0) return 0;
    		if(m==1||n==1)	//只有一行或者只有一列 只有一种走法
    			return 1;
    		int[][] A=new int[m][n];		//用户记录起点到当前点走法
    		
    		for(int i=0;i<m;i++){
    			for(int j=0;j<n;j++){
    				if(i==0||j==0)
    					A[i][j]=1;
    				else A[i][j]=A[i-1][j]+A[i][j-1];
    			}
    		}
    		return A[m-1][n-1];
    	}
    }
    

      

  • 相关阅读:
    web前端优化之reflow(减少页面的回流)
    Javascript深拷贝
    MySQL 配置优化
    MySQ中Lmax_connections的合理设置
    Too many connections解决方案
    Linux 查看文件内容
    ON DUPLICATE KEY UPDATE
    jquery $.each 和for怎么跳出循环终止本次循环
    使用redis避免客户端频繁提交数据
    windows下为mysql添加日志
  • 原文地址:https://www.cnblogs.com/271934Liao/p/6915259.html
Copyright © 2011-2022 走看看