当前位置: 首页> 教育> 高考 > 做一个信息发布网站要多少钱_网络营销者的应聘要求_百度官方电话24小时_产品推广步骤

做一个信息发布网站要多少钱_网络营销者的应聘要求_百度官方电话24小时_产品推广步骤

时间:2025/8/28 0:05:47来源:https://blog.csdn.net/Tyro_java/article/details/144847773 浏览次数:0次
做一个信息发布网站要多少钱_网络营销者的应聘要求_百度官方电话24小时_产品推广步骤

不同路径

  • https://leetcode.cn/problems/unique-paths/description/

描述

  • 一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )
  • 机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为 “Finish” )
  • 问总共有多少条不同的路径?

示例 1

输入:m = 3, n = 7
输出:28

示例 2

输入:m = 3, n = 2
输出:3

解释:
从左上角开始,总共有 3 条路径可以到达右下角。

  1. 向右 -> 向下 -> 向下
  2. 向下 -> 向下 -> 向右
  3. 向下 -> 向右 -> 向下

示例 3

输入:m = 7, n = 3
输出:28

示例 4

输入:m = 3, n = 3
输出:6

提示

  • 1 <= m, n <= 100
  • 题目数据保证答案小于等于 2 * 1 0 9 10^9 109

Typescript 版算法实现


1 ) 方案1: 排列组合

function uniquePaths(m: number, n: number): number {// 计算组合数 C(m+n-2, m-1) 或 C(m+n-2, n-1)// 选择较小的那个计算以减少循环次数const k = Math.min(m - 1, n - 1);let result = 1;for (let i = 1; i <= k; i++) {result *= (m + n - 1 - i);result = Math.floor(result / i); // 确保每一步都是整数除法}return result;
}

2 )方案2: 组合优化版

function uniquePaths(m: number, n: number): number {let ans = 1;for (let x = n, y = 1; y < m; ++x, ++y) {ans = Math.floor(ans * x / y);}return ans;
};

3 ) 方案3: 动态规划

function uniquePaths(m: number, n: number): number {const f = new Array(m).fill(0).map(() => new Array(n).fill(0));for (let i = 0; i < m; i++) {f[i][0] = 1;}for (let j = 0; j < n; j++) {f[0][j] = 1;}for (let i = 1; i < m; i++) {for (let j = 1; j < n; j++) {f[i][j] = f[i - 1][j] + f[i][j - 1];}}return f[m - 1][n - 1];
}

4 ) 方案4: 动态规划优化版

function uniquePaths(m: number, n: number): number {const f = new Array(n).fill(1)for (let i = 1; i < m; i++) {for (let j = 1; j < n; j++) {f[j] += f[j-1]}}return f[n - 1];
};
关键字:做一个信息发布网站要多少钱_网络营销者的应聘要求_百度官方电话24小时_产品推广步骤

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: