首页
AI Coding
数据标注
NEW
沸点
课程
直播
活动
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
登录
注册
功法秘笈
古今
创建于2023-07-29
订阅专栏
随心录
暂无订阅
共104篇文章
创建于2023-07-29
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
算法修炼Day28|● 93.复原IP地址 ● 78.子集 ● 90.子集II
LeetCode:93. 复原 IP 地址 - 力扣(LeetCode) 1.思路 分割字符,判断被分割的部分是否有效,有效添加逗点,并对最后一段进行判断,终止条件为三个逗点数量。 2.代码实现 3.
算法修炼Day27|39. 组合总和 ● 40.组合总和II ● 131.分割回文串
LeetCode:https://leetcode.cn/problems/combination-sum/ 1.思路 组合问题,遍历 + 回溯即可。 步骤: ①确定回溯方法及其参数; ②确定单层递归
算法修炼Day25|● 216.组合总和III ● 17.电话号码的字母组合
LeetCode:216. 组合总和 III - 力扣(LeetCode) 1.思路 确定递归方法及其参数(传参的数量和最终实现目的要明确。);确定终止条件;确定单层递归逻辑(需要回溯)。 2.代码实
算法修炼Day24|77. 组合
LeetCode:77. 组合 - 力扣(LeetCode) 1.思路 回溯三部曲:递归函数返回值及其参数(startIndex)、确定终止条件、单层搜索的逻辑(for循环). 注意:resList.
算法修炼Day23|● 669. 修剪二叉搜索树 ● 108.将有序数组转换为二叉搜索树 ● 538.把二叉搜索树转换为累加树
LeetCode:669. 修剪二叉搜索树 - 力扣(LeetCode) 1.思路 比较当前节点值与区间值,将目标区间左侧和右侧的进行递归排除(排除法),比如:如果root.val<low,则向右递归
算法修炼Day22|● 235. 二叉搜索树的最近公共祖先 ● 701.二叉搜索树中的插入操作 ● 450.删除二叉搜索树中的节点
LeetCode:235. 二叉搜索树的最近公共祖先 - 力扣(LeetCode) 1.思路 首先,不用做判空处理了, 三种情况,当前节点值大于p和q,向左遍历;当前节点值小于p和q,向右遍历;分别返
算法修炼Day21|● 530.二叉搜索树的最小绝对差 ● 501.二叉搜索树中的众数 ● 236. 二叉树的最近公共祖先
LeetCode:530. 二叉搜索树的最小绝对差 - 力扣(LeetCode) 1.思路 创建可变的临时指针,采用递归方法中序遍历对 2.代码实现 3.复杂度分析 时间复杂度:O(). 空间复杂度:
算法修炼Day20|● 654.最大二叉树 ● 617.合并二叉树 ● 700.二叉搜索树中的搜索 ● 98.验证二叉搜索树
LeetCode:654. 最大二叉树 - 力扣(LeetCode) 1.思路 遍历数组,递归内容选出数组中最大值和对应索引作为根节点,将数组分为左右子数组分别作为根节点的左右子树,对两个子数组采用同
算法修炼Day18|● 513.找树左下角的值 ● 112. 路径总和 113.路径总和ii ● 106.从中序与后序遍历序列构造二叉树 105.从前序与中序
LeetCode:513. 找树左下角的值 - 力扣(LeetCode) 1.思路 定义两个变量,一个标记最大深度,一个记录对应深度的值。采用前序遍历即可。 2.代码实现 3.复杂度分析 时间复杂度:
算法修炼Day17|110.平衡二叉树 ● 257. 二叉树的所有路径 ● 404.左叶子之和
LeetCode110. 平衡二叉树 - 力扣(LeetCode) 1.思路 是否为平衡二叉树的条件:任何一个节点的左右子树间高度差大于 1 时,均不符合平衡二叉树的定义。直接返回 -1 即可,将最终
算法修炼Day16|104.二叉树的最大深度 559.n叉树的最大深度 ● 111.二叉树的最小深度 ● 222.完全二叉树的节点个数
LeetCode:104. 二叉树的最大深度 - 力扣(LeetCode) 1.思路 递归调用,最大值声明为全局常量 确定递归函数参数及其返回值:TreeNode node, int deep(不少细
算法修炼Day15|226.翻转二叉树 101.对称二叉树
LeetCode:层序遍历 10 102. 二叉树的层序遍历 - 力扣(LeetCode) 1.思路 结果导向:每一层一个数组,结果集为多层的结果,也就是数组为单位的结果集,故采用链表存储 2.代码
算法修炼Day14|递归遍历
LeetCode:二叉树前中后序遍历 144. 二叉树的前序遍历 - 力扣(LeetCode) 145. 二叉树的后序遍历 - 力扣(LeetCode) 94. 二叉树的中序遍历 - 力扣(LeetC
算法修炼Day13|239. 滑动窗口最大值 ● 347.前 K 个高频元素
LeetCode:239. 滑动窗口最大值 - 力扣(LeetCode) 1.思路 滑动窗口,暴力解法(超时) 双端队列,记录区间内最大值的索引,将索引对应的元素加入结果数组中,返回结果即可. 2.代
算法修炼Day11|20. 有效的括号 ● 1047. 删除字符串中的所有相邻重复项 ● 150. 逆波兰表达式求值
LeetCode:20. 有效的括号 - 力扣(LeetCode) 1.思路 用栈实现先入后出,只要括号是匹配对称的,则stack.isEmpty()返回true,否则返回false。 思路:遇到左括
算法修炼Day09|●28. 实现 strStr() ●459.重复的子字符串
不小心更新文章给替换掉了,权当复习一遍了 LeetCode:28. 找出字符串中第一个匹配项的下标 - 力扣(LeetCode) 代码实现 LeetCode:232. 用栈实现队列 - 力扣(Leet
算法修炼Day10|232.用栈实现队列 ● 225. 用队列实现栈
LeetCode:28. 找出字符串中第一个匹配项的下标 - 力扣(LeetCode) 1.思路 暴力解法,flag做标记来判断是否进入if判断条件,进入则进入外层for下一次循环,如果没有说明字符全
算法修炼Day08|344.反转字符串541. 反转字符串II剑指Offer 05.替换空格 ● 151.翻转字符串里的单词 ● 剑指Offer58-
LeetCode:344. 反转字符串 - 力扣(LeetCode) 1.思路 双指针法 2.代码实现 3.复杂度分析 时间复杂度:O(n). 空间复杂度:O(1). LeetCode:541. 反转
算法修炼Day07|● 454.四数相加II ● 383. 赎金信 ● 15. 三数之和 ● 18. 四数之和
● 454.四数相加II ● 383. 赎金信 ● 15. 三数之和 ● 18. 四数之和 LeetCode:454. 四数相加 II - 力扣(LeetCode) 1.思路 四层for
算法修炼Day05|● 哈希表理论基础 ● 242.有效的字母异位词 ● 349. 两个数组的交集 ● 202. 快乐数 ● 1. 两数之和
LeetCode:242. 有效的字母异位词 - 力扣(LeetCode) 1.思路 创建一个对应26个英文字母大小的数组,对每个字母出现的频次进行录入,最后对数组进行判空,全为空则为有效字母异位词。
下一页