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

【代码随想录】算法训练计划39

dp

1、62. 不同路径

题目:
求路径方案多少个
在这里插入图片描述

思路:
  • 这道题就有点dp了哈
func uniquePaths(m int, n int) int {
    //dp,写过,代表的是多少种
    // 初始化
    dp := make([][]int, m)
    for i := range dp {
        dp[i] = make([]int, n)
        dp[i][0] = 1 // 代表到这里只有一种路径
    }
    for j := 0; j<n; j++ {
        dp[0][j] = 1
    }
    for i:=1; i<m; i++ {
        for j:=1; j<n; j++ {
            dp[i][j] = dp[i][j-1]+dp[i-1][j]
        }
    }
    return dp[m-1][n-1]
}

2、63. 不同路径 II

题目:

思路:
  • 简单
func uniquePathsWithObstacles(obstacleGrid [][]int) int {
    // 还是写过了,和1很像,考虑一下障碍物即可
    m,n := len(obstacleGrid), len(obstacleGrid[0])
    dp := make([][]int, m)
    for i := range dp {
        dp[i] = make([]int, n)
    }
    for i:=0; i<m&&obstacleGrid[i][0] != 1; i++ {
        dp[i][0] = 1
    }
    for j:=0; j<n&&obstacleGrid[0][j] != 1; j++ {
        dp[0][j] = 1
    }
    for i:=1; i<m; i++ {
        for j:=1; j<n; j++ {
            if obstacleGrid[i][j] != 1 {
                dp[i][j] = dp[i-1][j] + dp[i][j-1]
            }
        }
    }
    return dp[m-1][n-1]
}

http://www.kler.cn/a/158797.html

相关文章:

  • 如何在MindMaster思维导图中制作PPT课件?
  • MySQL的编程语言
  • LeetCode题解:18.四数之和【Python题解超详细】,三数之和 vs. 四数之和
  • 人工智能训练师 综合测试题库一
  • Ubuntu VNC Session启动chromium和firefox报错
  • 排序算法(基础)大全
  • LabVIEW在调用image.cpp或drawmgr.cpp因为DAbort而崩溃
  • JAVAEE初阶相关内容第十八弹--网络原理之TCP_IP【续集】
  • 初识Linux——基本指令(详解)1
  • pycharm右键执行,出现Run ‘Python tests in xxx‘的问题
  • 深入探讨Guava的缓存机制
  • 深入理解指针3
  • 深入理解 Spring Boot 的 ApplicationRunner 接口
  • Java数组面试题
  • 如何保障Redis的安全性?
  • 全栈冲刺 之 一天速成MySQL
  • 前端常见手写代码题集
  • Lambda表达式用法汇总
  • POJ 3233 Matrix Power Series 动态规划(矩阵的幂)
  • 轮询分区的设置
  • 对标Gen-2!Meta发布新模型进军文生视频赛道
  • iOS简单理解区分MVC、MVP、MVVM
  • ubuntu下如何查看.gz压缩包中的内容,以及grep过滤查找文件中的某些内容
  • 全面解析修复msvcr120.dll缺失问题的方法,msvcr120.dll丢失的原因
  • 【隐私计算】安全三方计算(3PC)的加法和乘法计算协议
  • 计算机服务器中了faust勒索病毒怎么办,faust勒索病毒解密文件恢复