当前位置: 首页 > news >正文

LeetCode -- Unique Paths

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?


给定一个m行n列地图,物体从左上角开始移动,有多少种路径可以到达右下角。物体只能向右或下移动。




本题是一个典型的DP问题。
当只有一行(即m=1)时,无论n为几,都只有1种,即dp[1,n] = 1;
当m>1时,dp[m,n]至少等于dp[m-1,n](即向下走一步) ,如果n>0 dp[m,n]还要加上dp[m,n-1](即向右走一步)


因此递推公式为:
m=1: dp[m,n] = 1;
m > 1 & n = 0: dp[m-1,n]
m > 1 & n > 0 : dp[m-1,] + dp[m , n-1]




实现代码:





public class Solution {
    public int UniquePaths(int m, int n) {
        // m :  row
    	// n : col
    	
    	
    	if(m < 1){
    		return 0;
    	}
    	
    	if(m == 1){
    		return 1;
    	}
    	
    	var dp = new int[m, n];
    	
    	// set first [row, i] as 1 , i : [0,n)
    	for(var i = 0;i < n; i++){
    		dp[0, i] = 1;
    	}
    	
    	for(var i = 1;i < m; i++){
    		for(var j = 0;j < n; j++){
    			dp[i, j] = dp[i-1, j];
    			if(j > 0){
    				dp[i, j] += dp[i, j-1];
    			}
    		}
    	}
    	
    	return dp[m-1, n-1];
    }
}


相关文章:

  • 警惕手机流氓软件的流行
  • LeetCode -- Combination Sum II
  • 学习百度、腾讯如何把产品做到极致(转载)
  • LeetCode -- Edit Distance
  • Leetcode -- Find Minimum in Rotated Sorted Array
  • SQL2005CLR函数扩展-树的结构
  • LeetCode -- Longest Consecutive Sequence
  • Flex与.NET互操作(八):使用FluorineFx网关实现远程访问
  • LeetCode -- Missing Number
  • [Windows编程] Windows 7 对多核的支持
  • LeetCode -- Palindrome Linked List
  • SSH客户端设置环境变量
  • LeetCode -- Search for a Range
  • 老子生平
  • LeetCode -- Simplify Path
  • 【跃迁之路】【699天】程序员高效学习方法论探索系列(实验阶段456-2019.1.19)...
  • Cookie 在前端中的实践
  • django开发-定时任务的使用
  • Github访问慢解决办法
  • Java的Interrupt与线程中断
  • MaxCompute访问TableStore(OTS) 数据
  • PHP 7 修改了什么呢 -- 2
  • PyCharm搭建GO开发环境(GO语言学习第1课)
  • python大佬养成计划----difflib模块
  • Redux系列x:源码分析
  • ucore操作系统实验笔记 - 重新理解中断
  • Webpack4 学习笔记 - 01:webpack的安装和简单配置
  • 初识 webpack
  • 大型网站性能监测、分析与优化常见问题QA
  • 聊聊springcloud的EurekaClientAutoConfiguration
  • 前端临床手札——文件上传
  • 推荐一款sublime text 3 支持JSX和es201x 代码格式化的插件
  • 微信支付JSAPI,实测!终极方案
  • 学习HTTP相关知识笔记
  • 自定义函数
  • 东超科技获得千万级Pre-A轮融资,投资方为中科创星 ...
  • 哈罗单车融资几十亿元,蚂蚁金服与春华资本加持 ...
  • 微龛半导体获数千万Pre-A轮融资,投资方为国中创投 ...
  • ​RecSys 2022 | 面向人岗匹配的双向选择偏好建模
  • ​ssh免密码登录设置及问题总结
  • #我与Java虚拟机的故事#连载02:“小蓝”陪伴的日日夜夜
  • (32位汇编 五)mov/add/sub/and/or/xor/not
  • (pojstep1.1.1)poj 1298(直叙式模拟)
  • (Spark3.2.0)Spark SQL 初探: 使用大数据分析2000万KF数据
  • (vue)el-checkbox 实现展示区分 label 和 value(展示值与选中获取值需不同)
  • (zt)基于Facebook和Flash平台的应用架构解析
  • (编译到47%失败)to be deleted
  • (二) Windows 下 Sublime Text 3 安装离线插件 Anaconda
  • **python多态
  • .md即markdown文件的基本常用编写语法
  • .set 数据导入matlab,设置变量导入选项 - MATLAB setvaropts - MathWorks 中国
  • @FeignClient 调用另一个服务的test环境,实际上却调用了另一个环境testone的接口,这其中牵扯到k8s容器外容器内的问题,注册到eureka上的是容器外的旧版本...
  • @Tag和@Operation标签失效问题。SpringDoc 2.2.0(OpenApi 3)和Spring Boot 3.1.1集成
  • @基于大模型的旅游路线推荐方案
  • [<死锁专题>]