2021-09-19493阅读🍒LeetCodeLC* 650. 只有两个键的键盘(搜索)(动态规划)题目思路因为每次只有两个操作:复制或粘贴。可以用深搜把所有情况遍历。采用一个memo数组记忆化搜索class Solution { public: int INM = INT_MAX -...
2021-03-16273阅读🍒LeetCodeLeetCode 17. 电话号码的字母组合(搜索)(回溯)题目思路用DFS挨个搜索,把几个数字代表的字母存放到一个数组里,数组前两个为空让数组的值对应2~9。DFS中传入两个参数:第一个每次递归传递的的字符串,第二个n表示当前从第几个数字里取值。定义i...
2021-03-08280阅读🍒LeetCodeLeetCode *131. 分割回文串(回溯)(动态规划)(搜索)题目思路从i开始搜索所有子串,如果[i..j]是回文子串则添加到答案数组中,然后用j + 1当做新的i开启下一次搜索。回溯时再把添加的子串弹出去。当i == n时就是一个正确的分割方案。如果不打...
2021-01-30274阅读🍒LeetCodeLeetCode 路径总和(二叉树)(DFS)题目给定一个二叉树和一个目标和,判断该树中是否存在根节点到叶子节点的路径,这条路径上所有节点值相加等于目标和。
2021-01-30297阅读🍒LeetCodeLeetCode 二叉树的锯齿形层次遍历(二叉树)(BFS)题目给定一个二叉树,返回其节点值的锯齿形层次遍历。(即先从左往右,再从右往左进行下一层遍历,以此类推,层与层之间交替进行)。
2021-01-30293阅读🐶算法切分木棒(DFS)(BFS)题目假设要把长度为 n 厘米的木棒切分为 1 厘米长的小段,但是 1 根木棒只能由 1 人切分,当木棒被切分为 3 段后,可以同时由 3 个人分别切分木棒(图 2)。
2021-01-30329阅读🍒LeetCodeLeetCode959. 由斜杠划分区域(搜索)(并查集)题目在由 1 x 1 方格组成的 N x N 网格 grid 中,每个 1 x 1 方块由 /、 或空格构成。这些字符会将方块划分为一些共边的区域。
2021-01-30300阅读🍒LeetCodeLeetCode 200. 岛屿数量(搜索)题目给你一个由 '1'(陆地)和 '0'(水)组成的的二维网格,请你计算网格中岛屿的数量。岛屿总是被水包围,并且每座岛屿只能由水平方向和/或竖直方向上相邻的陆地连接形成。此外,你可以假设该网格的...