动态规划part02 Day42

LC62不同路径

LC63不同路径II(超时10min)

  1. 超时原因分析:思路想错了,即便是正确思路初始化也有点问题,应该将不必要的判断逻辑引入初始化的过程中
  2. 初始化:
    • 从左上角到[i][0]和[0][j]都只有一条路径dp[i][0]=1和dp[0][j]=1
    • 引入故障,因此还需要obstacleGrid[i][0]==0和obstacleGrid[0][j]==0
  3. 循环过程中,如果存在左边或者上边有故障,那么他们的dp值一定是0的,因为判断obstacles[i][j]==1直接continue,因此逻辑判断不需要这么复杂

相关推荐
鹿角片ljp5 分钟前
力扣140.快慢指针法求解链表倒数第K个节点
算法·leetcode·链表
自由生长202422 分钟前
位运算第1篇-异或运算-快速找出重复数字
算法
xxxxxmy41 分钟前
同向双指针(滑动窗口)
python·算法·滑动窗口·同向双指针
释怀°Believe1 小时前
Daily算法刷题【面试经典150题-5️⃣图】
算法·面试·深度优先
List<String> error_P1 小时前
数据结构:链表-单向链表篇
算法·链表
ss2731 小时前
ConcurrentHashMap:扩容机制与size()方法
算法·哈希算法
2401_860319521 小时前
在React Native鸿蒙跨平台开发中实现一个冒泡排序算法并将其应用于数据排序,如何进行复制数组以避免直接修改状态中的数组
javascript·算法·react native·react.js·harmonyos
im_AMBER1 小时前
Leetcode 72 数组列表中的最大距离
c++·笔记·学习·算法·leetcode
编程饭碗1 小时前
【Java循环】
java·服务器·算法
曾几何时`2 小时前
归并排序(一)
数据结构·算法·leetcode