LeetCode-62-Unique Paths
2016-06-22 23:49
603 查看
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?
题意:就是一个m*n的棋盘的上,从一个位置到另一位置的最短路径的个数。每次只能向下或向右走一步。
思路:
其实就是个高中的组合数学的问题。
m*n的棋盘,一共需要走(m-1)+(n-1)步,向右走m-1步,向下走n-1步,这(m-1)+(n-1)步中,只要确定了哪些步向右,即同时确定了哪些步向下走,反之亦然。
答案即C(m+n-2,m-1)或C(m+n-2,n-1)
Java代码如下:
提交结果:
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?
题意:就是一个m*n的棋盘的上,从一个位置到另一位置的最短路径的个数。每次只能向下或向右走一步。
思路:
其实就是个高中的组合数学的问题。
m*n的棋盘,一共需要走(m-1)+(n-1)步,向右走m-1步,向下走n-1步,这(m-1)+(n-1)步中,只要确定了哪些步向右,即同时确定了哪些步向下走,反之亦然。
答案即C(m+n-2,m-1)或C(m+n-2,n-1)
Java代码如下:
public class Solution { public int uniquePaths(int m, int n) { double res = 1; for (int i = 1; i <= n - 1; i++) res *= ((double) (m + i - 1) / (double) i); return (int) Math.round(res); } }
提交结果:
相关文章推荐
- 信息无缝滚动效果marquee
- Request.url请求路径的一些属性
- UIKit笔记大全
- iOS学习——UIView圆角图片的设置方法
- APUE(4)---文件和目录 (1)
- 测试基础之易用性测试
- Druid数据库连接池
- Errors occurred during the build.
- Arduino控制直流电机
- Arduino 通过串口传值给Processing 显示
- 【转】自定义UITableViewCell控件阻挡回调不到didSelectRowAtIndexPath的解决办法
- 【转】iOS 通过xib自定义UITableViewCell【原创】
- Java优先队列(PriorityQueue)
- 347. Top K Frequent Elements
- 【转】UITableView详解(UITableViewCell
- 将十六进制的颜色字符串转为UIColor
- Count Numbers with Unique Digits
- UI控件之RatingBar(星级评分条)
- UINavigationBar 和view 重叠覆盖问题
- String、StringBuffer与StringBuilder之间区别