力扣动态规划-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;
    }
}

后言

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

相关推荐
ksbglllllll6 分钟前
ccf3401矩阵重塑(其一)
c++·算法·矩阵
Python破壁人手记10 分钟前
《我的Python觉醒之路》之转型Python(十五)——控制流
java·服务器·开发语言·网络·python
Michaelwubo14 分钟前
jenkins 配置邮件问题整理
java·运维·jenkins
charlie11451419124 分钟前
理解我们单片机拥有的资源
笔记·单片机·嵌入式硬件·学习·教程
siy233325 分钟前
[c语言日寄]浮点数的排序
c语言·开发语言·数据结构·笔记·学习
king-xxz26 分钟前
力扣No.673.最长递增子序列的个数
数据结构·算法·leetcode
小安同学iter34 分钟前
SpringMVC(八)Knife4j 接口文档
java·开发语言·spring boot·spring·java-ee·intellij-idea
飞奔的马里奥36 分钟前
力扣Hot100——169. 多数元素
java·算法·leetcode
一只_程序媛36 分钟前
【leetcode hot 100 105】从前序与中序遍历序列构造二叉树
算法·leetcode·职场和发展
日暮南城故里44 分钟前
Java学习------static、final、this、super关键字
java·学习