六大算法之动态规划_动态规划求解最大子数组

六大算法之动态规划_动态规划求解最大子数组一个机器人位于一个 m x n 网格的左上角 (起始点在下图中标记为 “Start” )。机器人每次只能向下或者向右移动一步。机器人试图达到网格的右下角(在下图中标记为 “Finish” )。问总共有多少条不同的路径?示例 1:输入:m = 3, n = 7输出:28示例 2:输入:m = 3, n = 2输出:3解释:从左上角开始,总共有 3 条路径可以到达右下角。向右 -> 向下 -> 向下向下 -> 向下 -> 向右向下 -> 向右 -&gt

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

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

题解
简单动态规划即可

class Solution { 
   
public:
    int uniquePaths(int m, int n) { 
   
        vector<vector<int> >f(2,vector<int>(n + 1,0));
        f[1][1] = 1;
        for(int i = 1;i <= m;i ++){ 
   
            for(int j = 1;j <= n;j ++){ 
   
                if(i == 1 & j == 1)continue;
                f[i & 1][j] = f[(i - 1) & 1][j] + f[i & 1][j - 1];
            }
        }
        return f[m & 1][n];
    }
};
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/169159.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • WebApp开发实践

    WebApp开发实践网上购物网站(以出售软件为例)webApp开发由Java实现,运用了jdbc,jsp,servlet,jQueryFlot图表等技术,数据库为SqlServer2008,仅供参考学习,转载文章需注明:一、后台实现(1)用户的登入:(2)修改密码:(3)软件管理:(4)软件上新:(5)订单管理:(6)编辑公告:二、前台实现:(1)会员登录与注册模块:(2)搜索…

    2022年6月17日
    41
  • redis 客户端连接及常用命令使用[通俗易懂]

    redis 客户端连接及常用命令使用[通俗易懂]一、本地客户端连接[root@localhostredis]#bin/redis-cli127.0.0.1:6379>authrootOK显示”ok”表示连接成功常用命令操作redis的数据结构:redis存储的是:key,value格式的数据,其中key都是字符串,value有5种不同的数据结构value的数据结构:字符串类型string哈希类型hash:map格式列表类型list:linkedlist格式。支持重复元素集合类型set:不允

    2022年5月10日
    53
  • java 取余和取模运算之间的区别「建议收藏」

    java 取余和取模运算之间的区别「建议收藏」转自lee371042https://blog.csdn.net/lee371042/article/details/102553342packageOperator;importjava.math.BigInteger;/***假如有两个数:*amod(b)与a%b,b为正整数,*一种叫a对b取模,另一个叫a对b取余,两种叫法有什么区别呢?*通常情况下,取模运算也叫取余运算,*它们返回的结果都是一个数对另一个数的余数,**区别在于当a是一

    2022年6月3日
    35
  • I/O接口_overlapping

    I/O接口_overlappingOverlappedI/O是Windows系统上的AsynchronousI/Oimplementation。啥叫asynchronousI/O?借用LinuxManpage中对AIO的

    2022年8月5日
    3
  • 浅谈正则表达式验证身份证号码(C# winform)

    浅谈正则表达式验证身份证号码(C# winform)

    2021年8月10日
    56
  • java 笛卡尔积_使用Guava来计算笛卡尔积

    java 笛卡尔积_使用Guava来计算笛卡尔积以前做项目的时候计算笛卡尔积的时候,总是使用各种for循环来嵌套,最后往往在Sonar代码检查的时候总是会报警说for循环嵌套过深。今天才知道Guava原来已经为我们提供了优雅的计算笛卡尔积的方法。比如我们要计算3个List的笛卡尔积,每个list的内容都是[‘a’,’b’,’c’],请看下面的代码:publicclassCartesianProductUtil{publicstat…

    2022年7月27日
    1

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号