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

建站历史查询如何做网站推广页面

建站历史查询,如何做网站推广页面,网站子域名怎么设置,iis创建网站一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。 机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为 “Finish” )。 问总共有多少条不同的路径? 示例 1&…

一个机器人位于一个 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

解题思路·:

由于机器人只能向下或向右移动,要到达网格中的某个特定位置 (i, j),它只能从该位置的上方 (i - 1, j) 或者左方 (i, j - 1) 移动过来。这就意味着到达位置 (i, j) 的不同路径数量与到达其上方和左方位置的不同路径数量有关,设 dp[i][j] 表示机器人从网格的左上角 (0, 0) 移动到位置 (i, j) 的不同路径数量。这里 i 表示行索引,范围是 0 到 m - 1j 表示列索引,范围是 0 到 n - 1。对于第一行的任意位置 (0, j)j 从 0 到 n - 1),因为机器人只能从左上角一直向右移动才能到达这些位置,所以到达这些位置的路径只有一种,即 dp[0][j] = 1。对于第一列的任意位置 (i, 0)i 从 0 到 m - 1),因为机器人只能从左上角一直向下移动才能到达这些位置,所以到达这些位置的路径也只有一种,即 dp[i][0] = 1。通过上述状态转移方程,我们可以从 (1, 1) 位置开始,按照行优先或者列优先的顺序依次计算出网格中每个位置的 dp 值。最终,dp[m - 1][n - 1] 就表示机器人从左上角 (0, 0) 移动到右下角 (m - 1, n - 1) 的不同路径数量。

具体代码:

import java.util.Scanner;public class UniquePaths {public static int uniquePaths(int m, int n) {// 创建一个二维数组 dp 来存储到达每个位置的不同路径数量int[][] dp = new int[m][n];// 初始化第一行,因为从左上角只能一直向右走到达第一行的每个位置,所以路径数都为 1for (int j = 0; j < n; j++) {dp[0][j] = 1;}// 初始化第一列,因为从左上角只能一直向下走到达第一列的每个位置,所以路径数都为 1for (int i = 0; i < m; i++) {dp[i][0] = 1;}// 从 (1, 1) 位置开始遍历整个网格for (int i = 1; i < m; i++) {for (int j = 1; j < n; j++) {// 状态转移方程:到达当前位置 (i, j) 的路径数等于到达上方位置 (i - 1, j) 的路径数加上到达左方位置 (i, j - 1) 的路径数dp[i][j] = dp[i - 1][j] + dp[i][j - 1];}}// 最终结果存储在 dp[m - 1][n - 1] 中,表示到达右下角位置的不同路径数量return dp[m - 1][n - 1];}public static void main(String[] args) {Scanner scanner = new Scanner(System.in);// 提示用户输入网格的行数System.out.print("请输入网格的行数 m: ");int m = scanner.nextInt();// 提示用户输入网格的列数System.out.print("请输入网格的列数 n: ");int n = scanner.nextInt();// 调用 uniquePaths 方法计算不同路径数量int result = uniquePaths(m, n);// 输出结果System.out.println("从左上角到右下角的不同路径数量为: " + result);// 关闭 Scanner 对象scanner.close();}
}

运行截图·:

http://www.dtcms.com/a/406120.html

相关文章:

  • maven使用非明文密码配置
  • 做网站后期维护工资贴吧wordpress ad widget
  • Reactor 模式:高并发网络编程的事件驱动利器
  • 无人机数传模块技术要点概述
  • Telegram机器人Token和ChatID获取教程
  • Deepoc具身智能模型:为传统电厂巡检机器人注入“灵魂”与“智慧”
  • 中医智慧+AI科技,七彩喜机器人让健康养护“智”在必得
  • Ubuntu 中 Bash / Zsh / Ash / Dash 的使用与区别(含对比图)
  • leetcode 814 二叉树剪枝
  • 【Redis】热Key/大Key问题、缓存击穿、缓存穿透、缓存雪崩、缓存与数据库一致性问题
  • 大模型剪枝系列——基于权重大小剪枝
  • 制作网站的模板深圳网站改版公司
  • 【Linux基础知识系列:第一百四十篇】理解SELinux与系统安全
  • dbswitch:一款免费开源、功能强大的异构数据库迁移同步工具
  • python+uniapp基于微信小程序美食点餐系统
  • Go语言100个实战案例-进阶与部署篇:使用Go打包生成可执行文件
  • 【Golang】--- 函数深度解析
  • 后端进阶-性能优化
  • 吉林做网站wordpress创建登录页
  • 【C++篇】C++11:从列表初始化到移动语义
  • WPS清除图片段落布局脚本
  • Excel学生成绩表,如何生成成绩分析报告?
  • 面试_场景方案设计
  • 【AI - nlp】Tokenizer简介及常见编码方式
  • JavaScript--基础ES(二)
  • 案例分享:增材制造的点阵材料压缩测试-VIC-3D高空间分辨率DIC系统在增材制造复杂结构中的应用
  • Parasoft软件测试解决方案助力Renovo汽车ADAS开发安全与合规
  • 外卖网站建设费用杭州比较好的代运营公司
  • 贵州省住房和城乡建设厅门户网站wordpress怎么看展现量
  • ✨WPF编程基础【1.1】:XAML文档框架