zoukankan      html  css  js  c++  java
  • leetcode ---Unique Paths

    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?

    (二维图像,只能往右或下走一步,从左上角到右下角一共多少种走法?)

    方法一:确定到任意一个点能有多少种走法?

    当x=0或y=0时,只能有一种;

    当x!=0 且 y!=0时,有 matrix[y][x]=matrix[y-1][x] + matrix[y][x-1]种走法;用   (上+左)

    代码:

    public class Solution {
       int[][] matrix;
    public int uniquePaths(int m, int n) {
        matrix = new int[n][m];
        for(int y=0; y<n; y++) {
            for(int x=0; x<m; x++) {
                //Fill top row and left most row with 1s
                if(x == 0 || y==0) matrix[y][x]=1;
                else {
                    matrix[y][x]=matrix[y-1][x] + matrix[y][x-1];                   //相当于把每个点的走法种类都表示出来
                }
            }
        }
        return matrix[n-1][m-1];        //返回的时候要注意,不要越界
    }
    }

    方法二:知道从左上到右下,一共有m+n-2步,就分为两类,一类是右(m-1)步;一类是下(n-1)步;    题目转换为:在m+n-2步中,挑选哪些步是右(下)的

    代码:

    public class Solution {

    public int uniquePaths(int m, int n) {
    
         long result = 1;
         for(int i=0;i<Math.min(m-1,n-1);i++)
             result = result*(m+n-2-i)/(i+1);                  //公式
         return (int)result;
    
    }
    

    }



    态度决定行为,行为决定习惯,习惯决定性格,性格决定命运
  • 相关阅读:
    ECharts grid组件离容器的距离
    防火墙centos7执行 service iptables status报错问题完美解决
    linux 在切换用户时出现:命令提示符-bash-4.1$错误解决
    DataTable转为TXT文档
    读取ecxel中数据——NPOI.Excel和Aspose
    SQL连接数据库
    fiddler软件无法生成代码
    webapi发布后更新(无前台时)
    webapi日志记录(TXT存储)
    webapi使用Get进行访问时,url长度被限制解决办法
  • 原文地址:https://www.cnblogs.com/neversayno/p/5215334.html
Copyright © 2011-2022 走看看