Jerry Lee
  • 首页
  • 系列
  • 标签
  • 归档
  •   
  •   

212.单词搜索 II

字典树 + DFS 使用字典树来存储要查找的单词,字典树的节点中记录单词的搜索路径。 DFS每层把字典树节点传入,就只用在当前节点检查相邻单元格是否在字典树节点的子节点中。
2021-11-09
算法 > leetcode

389.找不同

利用位运算来找不同。 一个数两次异或同一个数就是其本身,所以用一个0分别和 s 和 t 中每一位异或,得到的结果就是新增加的值。
2021-11-09
算法 > leetcode

120.三角形最小路径和

动态规划+空间优化 状态转移方程: dp[i][j] = triangle[i][j] + min(dp[i-1][j], dp[i-1][j-1]) 应该记录一个二维数组dp,来维护每个位置的最小路径。但是由于是三角形结构,dp[i][j] 只跟 dp[i-1][j-1] 和 dp[i-1][j] 有关,使用一个一维数组来记录dp,倒序遍历,则计算i 行的 dp[j] 时,dp[j-1] 和
2021-09-30
算法 > leetcode

146.LRU缓存

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394type LRUCache struct
2021-09-30
算法 > leetcode

198.打家劫舍

动态规划 考虑当前房屋偷还是不偷。同时当前房屋的状态只与前一间房屋有关,所以可以用滚动数组进行空间优化。 时间复杂度:O(N)空间复杂度:O(1)
2021-09-30
算法 > leetcode

297.二叉树的序列化与反序列化

leetcode 时间复杂度: O(n)空间复杂度: O(n)
2021-09-30
算法 > leetcode

516.最大回文子序列

动态规划 dp[i][j] 用来记录从i到j位置的字符串的最大回文子序列长度。 dp[i][i] 都为1。 状态转移时考虑最左和最右元素是否相等,相等则转移至 dp[i+1][j-1] ,否则考虑 dp[i+1][j] 和 dp[i][j-1] 的较大者 。 注意遍历时,i从右边开始,可以保证每个子问题都计算过了。 时间复杂度:O(N^2)空间复杂度:O(N^2)
2021-09-30
算法 > leetcode

8.字符串转换整数 (atoi)

自动机 时间复杂度:O(N)空间复杂度:O(1)
2021-09-30
算法 > leetcode

1011.D天内送达包裹的能力

leetcode 承载能力的范围:[最大包裹重量,包裹总重量] 承载能力范围中二分查找,找到让运输天数和需求天数相等的最小承载能力。运输天数小于需求天数时,承载能力可以再减小,反正则应该增大。 每天包裹重量大于承载能力时需等到第二天继续运输。
2021-09-20
算法 > leetcode

1091.二进制矩阵中的最短路径

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162func shortestPathBinaryMatrix(grid [][]int) int { n := len(grid) if grid[0][0]
2021-09-20
算法 > leetcode
123…6

搜索

Hexo Fluid