力扣动态规划-15【算法学习day.109】

前言

###我做这类文章一个重要的目的还是给正在学习的大家提供方向(例如想要掌握基础用法,该刷哪些题?建议灵神的题单和代码随想录)和记录自己的学习过程,我的解析也不会做的非常详细,只会提供思路和一些关键点,力扣上的大佬们的题解质量是非常非常高滴!!!


习题

1.不同路径II

题目链接: 63. 不同路径 II - 力扣(LeetCode)

题面:

代码:

java 复制代码
class Solution {
    public int uniquePathsWithObstacles(int[][] obstacleGrid) {
        return dfs(new HashMap<Pair,Integer>(), obstacleGrid, 0, 0);
    }

    private int dfs(Map<Pair,Integer> cache, int[][] arr, int i, int j) {
      Pair p = new Pair(i,j);
      if(cache.containsKey(p))return cache.get(p);
      if(i>=arr.length||j>=arr[0].length||arr[i][j]==1)return 0;
      if(i==arr.length-1&&j==arr[0].length-1)return 1;
      int ref = dfs(cache,arr,i+1,j)+dfs(cache,arr,i,j+1);
      cache.put(p,ref);
      return ref;
    }
}

后言

上面是动态规划相关的习题,共勉

相关推荐
摇滚侠1 分钟前
Mybatis 入门到项目实战 搭建 MyBatis 框架 01-14
java·tomcat·mybatis
青梅橘子皮2 分钟前
Linux---进程控制(2)(进程程序替换)
linux·c++·算法
阿寻寻4 分钟前
【人工智能学习260612-软件测试篇】小工具实现 [特殊字符] Prompt工程 + RAG思路 + API调用 + 自动化测试
人工智能·功能测试·学习·prompt
Shan12055 分钟前
经典问题——验证栈序列
数据结构·算法
2501_9065651218 分钟前
勾股定理证明
算法
码不停蹄的玄黓34 分钟前
SpringBoot 全局异常处理器实现
java·spring boot·后端
吃好睡好便好38 分钟前
白发的根源和应对
学习·生活
Shan12051 小时前
无向图的Hierholzer算法流程(二)
算法
自然语1 小时前
基于场景、需求、方法匹配和学习评价的垂直移动任务控制系统
学习
gihigo19981 小时前
基于蒙特卡洛的异常值剔除(RANSAC + MC置信区间)—MATLAB实现
开发语言·算法·matlab