首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
LeetCode小记
terryli
创建于2023-04-11
订阅专栏
佛系刷题的Writeup
暂无订阅
共135篇文章
创建于2023-04-11
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
[LeetCode] 208. 实现 Trie (前缀树)
208. 实现 Trie (前缀树) 思路 首先需要获取Trie知识 Trie 树的特征 根节点的值为空 每个节点只需要保存当前字符(也可以记录额外的信息,比如当前节点结束是否组成单词) 每个节点所包
[LeetCode] 209. 长度最小的子数组
209. 长度最小的子数组 方法一(双指针,滑动窗口) 思路 应为题目中要求的连续的子数组,想到可以使用双指针滑动窗口的方式来求解,这样遍历的范围都是连续的子数组 刚开始两个指针都指向开头 首先向后移
[LeetCode] 215. 数组中的第K个最大元素
215. 数组中的第K个最大元素 方法一(库函数一把梭) 思路 这题理解上没什么问题,就是先将数组从大到小排序,然后取出第k个元素 最快的就是用库一把梭 代码 python3 方法二(快排) 思路 但
[LeetCode] 238. 除自身以外数组的乘积
238. 除自身以外数组的乘积 思路 题目几点要求 不能使用除法 时间复杂度为$$ O(n) $$,换句话说,就是一层遍历,不能用循环嵌套。但是我们可以多次遍历 除自身以外的乘积,我们可以分解为:元素
[LeetCode] 309. 最佳买卖股票时机含冷冻期
309. 最佳买卖股票时机含冷冻期 思路 这道和之前做的动态规划题稍微有点不太一样,之前做的一些题题,有的两个状态就是横坐标和纵坐标,比如,不同路径 分析,动态规划的本质是分析状态转移过程。本题中,一
[LeetCode] 312. 戳气球
312. 戳气球 思路 看到问题是最大的数量是多少,想到使用动态规划方法来求解 定义dp数组,dp[i][j]表示在[i:j+1]范围中,所能的到的最大值 题目中边界情况左右两个边界之外还有两个虚拟的
[LeetCode] 315. 计算右侧小于当前元素的个数
315. 计算右侧小于当前元素的个数 方法一(暴力)(TLE) 思路 首先想到的方法是暴力解,题目没有给出数据规模。但是作为Hard题,暴力解大概率会超时。 尝试一下,果不其然,TLE 代码 pyth
[LeetCode] 329. 矩阵中的最长递增路径
329. 矩阵中的最长递增路径 思路 从每个点出发,下一个节点的选择有四个方向,四种可能性 选择下一个节点之后又有四种可能性,形成一个树状结构,使用DFS递归求解 递归终止条件为:1.遇到边界情况不能
[LeetCode] 332. 重新安排行程
332. 重新安排行程 思路 抽象题目大意 所有的机票,指定了两个节点和一个变,我们可以构造成一个图,使用邻接表表示 题目要求的值,就是求欧拉路径 题目中提示说假定所有机票至少存在一种合理的行程,即,
[LeetCode] 336. 回文对
336. 回文对 方法一(暴力)(TLE) 思路 首先想到了方式是暴力求解,遍历所有索引对,判断所有拼成的字是不是回文字。如果是的话,将索引对放到结果当中 尝试写一下代码,TLE 代码 python3
[LeetCode] 337. 打家劫舍 III
337. 打家劫舍 III 思路 思路其实不是很复杂,只要能想到那个点。 针对某个树的节点来说,当前节点有两种情况:抢或者不抢 当前节点抢的话,值为,抢孙子节点+当前节点的值 当前节点不抢的话,值为,
[LeetCode] 350. 两个数组的交集 II
350. 两个数组的交集 II 思路 本题也有多种方法求解,这边选择使用哈希表方式 使用一个数组,统计数组中各个元素的个数 遍历另一个数组,如果这个这个数组中的元素在计数中,且个数不为0,说明这个元素
[LeetCode] 378. 有序矩阵中第K小的元素
378. 有序矩阵中第K小的元素 方法一(降维排序) 思路 首先想到的最为粗暴的方式,是将二维数组转化成一维数组,重新进行排序之后得出结果 尝试写一下代码,AC! 代码 python3 方法二(二分)
[LeetCode] 392. 判断子序列
392. 判断子序列 思路 使用双指针方式,一个指针i指向s的开头,另一个指向t的开头 第二个指针遍历t,当遇到s[i]与当前元素相同时,i向后移动一位 当i移动完了之后,说明匹配成功,否则匹配失败
[LeetCode] 410. 分割数组的最大值
410. 分割数组的最大值 方法一(二分搜索) 思路 首先我们分析一下题目的意思,将数组分割到m个子数组,然后确保这些字数组的和的最小的最大值是多少。 可以确定的是最大值得范围一定是在[max(n),
[LeetCode] 415. 字符串相加
415. 字符串相加 思路 按照我们数学上计算两个数相加的思路 倒序,从最后两个数的最后一个数字开始相加 纪录进位,如果两数相加超过10要向前进一位 以上,尝试一下代码,AC! 代码 python3
[LeetCode] 461. 汉明距离
461. 汉明距离 思路 题目要求统计,二进制不相同的数量。 首先想到的方法是:1.转成二进制 2.然后在转成字符串 3.逐字遍历比较 感觉有点麻烦,再想一下 转成二进制了之后,异或操作,位数是1的,
[LeetCode] 486. 预测赢家
486. 预测赢家 方法一(记忆化递归) 思路 题目条件可知,我们可以选择第一个数和最后一个数,最终的选择构成一个树状结构,如下图,(来自leetcode官方解题) 这边有个巧妙的思路就是怎么判断是玩
[LeetCode] 491. 递增子序列
491. 递增子序列 思路 回溯的套路题 选中一个数字之后,下一步的选择只能再这个字后面的字中进行选择。 使用回溯法求解,按照回溯的套路,定义一个path变量,用于记录当前选择的路径,定义res表示最
[LeetCode] 501. 二叉搜索树中的众数
501. 二叉搜索树中的众数 思路 使用最简单粗暴的方式求解: 使用一个计数器,统计遍历到的节点的值的数量 使用DFS方式遍历树 最后将计数器排序,统计出计数器中数量最多的值 以上,尝试写一下代码,A
下一页