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

后言

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

相关推荐
troyzhxu10 分钟前
列表查询的 GraphQL —— 一行代码终结你的 if-else 地狱!
java·springboot·graphql
叩码以求索18 分钟前
浅谈:算法萌新如何高效刷题应对面试(一)
算法·面试·职场和发展
孫治AllenSun1 小时前
【DataX】生产环境搭建DataX集群案例
java·开发语言·jvm
c238562 小时前
把 C++ 内存分配拆透:new 与 malloc 的三层血缘
开发语言·c++·算法
好好沉淀2 小时前
@NotBlank(message = “{xxx}“) 注解中花括号的含义
java
fīɡЙtīиɡ ℡2 小时前
内存泄漏产生的原因
java·spring·servlet
aaaameliaaa3 小时前
指针之总结
c语言·笔记·算法
宵时待雨3 小时前
优选算法专题9:哈希表
数据结构·算法·散列表
txzrxz3 小时前
最短路问题——Dijkstra 算法
数据结构·c++·算法·最短路·优先队列
gwf2163 小时前
磨损均衡算法(Wear Leveling)——SSD如何让每块闪存“公平退休“?
运维·数据库·人工智能·python·嵌入式硬件·算法·智能硬件