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

337.打家劫舍 III

后序遍历+动态规划 看到树形结构优先考虑root和左右子树的关系。 使用后序遍历是因为需要得到两个子节点的状态才能计算当前节点。 时间复杂度:O(N)空间复杂度:O(N)
2021-09-20
算法 > leetcode

34.在排序数组中查找元素的第一个和最后一个位置

进行两次二分查找 时间复杂度:O(logN)空间复杂度:O(1)
2021-09-20
算法 > leetcode

394. 字符串解码

递归处理
2021-09-20
算法 > leetcode

433.最小基因变化

leetcode 广度优先搜索 广度优先搜索的时候,注意要去掉已遍历过的情况,方法是从bankMap中删除已遍历的元素。 时间复杂度:O(C x n x m),其中C为基因位的可选项数量(此处为ACGT四种,C为4), m为bank的长度,n为基因序列的长度。空间复杂度: O(m x n)。合法性的哈希表中一共存有 m个元素,队列中最多有 mm 个元素,每个元素的空间为 O(n)。O(m + n
2021-09-20
算法 > leetcode

45. 跳跃游戏 II

动态规划 从后往前考虑。 时间复杂度:O(N^2)空间复杂度:O(1)
2021-09-20
算法 > leetcode

450.删除二叉搜索树中的节点

leetcode 递归方法 根据二叉搜索树的特性寻找要删除的节点 如果删除节点就是叶子节点,直接删除 如果删除节点的左孩子或者有孩子为空,则直接删除当前节点,把非空的孩子节点替换当前节点 如果删除节点左右孩子都不为空,则寻找大于删除节点的最小节点来替代删除节点,这个节点在删除节点右子树的最左端叶子节点。该节点没有左子树,删除该节点后也比较好处理,且可以保证被删除节点的左子树都小于它,被删除节点的
2021-09-20
算法 > leetcode

47.全排列2

leetcode 深度优先搜索
2021-09-20
算法 > leetcode

50.x的n次幂

leetcode 递归时间复杂度 O(log n)空间复杂度O(log n)
2021-09-20
算法 > leetcode

51.N皇后问题

leetcode 回溯法解题。 考虑给每行设置皇后在哪一列,所以维护一个列数组表示哪些列有皇后了,则这些列不能再分配皇后。 皇后所在的斜线上也不能有皇后,斜线规律为行数和列数之差相等以及行数和列数之和相等,故维护一个行数列数之差的map以及行数列数之和的map。 递归遍历每行的列,看是否能够在该行该列防止皇后。 每层递归结束记得还原现场,即修改列数组和斜线map。
2021-09-20
算法 > leetcode

518.零钱兑换 II

完全背包 时间复杂度:O(amount x amount x N)空间复杂度:O(amount x N)
2021-09-20
算法 > leetcode
123456

搜索

Hexo Fluid