自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(1509)
  • 问答 (5)
  • 收藏
  • 关注

原创 【LeetCode】56. 合并区间

简单题。先排序再处理,可以适当添加数据简化处理逻辑。

2022-06-14 10:51:32 83

原创 【LeetCode】236. 二叉树的最近公共祖先

仔细读题,题目的限制条件也是帮助判断使用什么方法的关键。LCA的算法还是需要仔细体会的。这题的难点在于如何找出判断出LCA的条件,从而写出合适的深搜算法。

2022-06-14 10:29:10 145 2

原创 【LeetCode】 199. 二叉树的右视图

层序遍历,只需要获取每层的第一个节点就可以了。在解决问题的时候,还需要注意代码的优雅。

2022-06-13 22:30:38 91 2

原创 【LeetCode】21. 合并两个有序链表

合并链表,这虽然是一道简单题,但是里面仍然有很多优化点,如果我作为面试官,我可能会选择这道题。它考察了对链表的基本操作,同时还会有“头结点”这种小众的知识点。能十分反应应聘者的水平。同时这题还可以引导面试同学使用递归来写。对基本功的考察非常深入。

2022-06-13 22:14:31 73

原创 【LeetCode】718. 最长重复子数组

使用动态规划解决这个问题,需要注意和最长子序列区分开。

2022-06-13 21:35:05 103

原创 【算法竞赛刷题模板17】二分法

二分搜索是高频考点。有很多问题可以转化成二分法求解。比如最优化问题(要求连续序列最优化分割);有时候也需要注意二分之后的比较对象不一定是某个指定的target,它可以是跟mid前后比(852. 山脉数组的峰顶索引)。总之,二分法有很多变型题,需要认真感受。

2022-06-13 16:30:03 152

原创 【LeetCode】50. Pow(x,n)

求快速幂的问题

2022-06-13 16:22:18 138

原创 【LeetCode】209. 长度最小的子数组

一道题可以有很多实现方式,最优的不一定是最好的。可能有些实现起来较难的,才是值得学习的。虽然本题可以用滑动窗口的思想来解决,但是利用前缀和+二分倒也不失为一种好方法。

2022-06-12 19:09:28 344

原创 【LeetCode】69. x 的平方根

二分法入门题,找出一个数的平方根。当while循环结束时,得到的值是什么,接着该返回啥?

2022-06-12 17:34:18 71

原创 【LeetCode】102. 二叉树的层序遍历

使用dfs的方法解决二叉树的层次遍历。

2022-06-12 17:06:24 139

原创 【LeetCode】53.最大子数组和

简单dp题

2022-06-12 16:40:37 73

原创 【LeetCode】5. 最长回文子串

最长回文子串,是一道区间dp经典题。一定要掌握!

2022-06-11 19:33:45 142 1

原创 【LeetCode】103. 二叉树的锯齿形层序遍历

对于题目中任何一个不熟悉的点都应该彻追到底!千万不要为了刷题而刷题。

2022-06-11 16:44:25 123

原创 【LeetCode】300.最长上升子序列

求最长上升子序列,简单的dp题。但是它的升级版却不是一道简单题。

2022-06-11 15:54:40 79

原创 【LeetCode】数组中第K大的元素

本题之所以是经典题,原因就在于其利用了排序的思想解题,但是又没有完全排序。同时本题考察点除了快速排序外,还有转换问题的能力。能想到将这道题使用快速排序来写则是另一个考点。

2022-06-11 15:28:20 223 1

原创 【LeetCode】33. 搜索旋转排序数组

部分数组的二分查找,一道好题但不是那么好做的题。

2022-06-10 22:03:14 189

原创 【LeetCode】剑指 Offer II 020. 回文子字符串的个数

这题与之前的题稍有类似,但是又不太一样。本题需要使用区间dp的思想:即先判断小串是否是回文串,然后再基于小串的基础上,判断长度的串是否是回文串。【是有那么一点儿区间dp的想法在其中】...

2022-06-10 17:39:04 174

原创 【LeetCode】剑指 Offer II 016. 不含重复字符的最长子字符串

滑动窗口(双指针思想)。这两者为啥这么相似?

2022-06-08 16:53:56 134

原创 【算法竞赛刷题模板16】滑动窗口

滑动窗口思想在常见代码题中的使用。

2022-06-08 10:03:11 159

原创 【LeetCode】114. 二叉树展开为链表

想法比较简单:第一步将树转化成左链子树,然后再`reverse`一下得到右链子树。实现起来也比较简单。

2022-06-07 23:32:11 140 1

原创 【LeetCode】42. 接雨水

接雨水是一道高频面试考题。本题最重要的一个环节是如何计算面积的?使用top这么一个变量,就保证了当前实际的雨水高度,雨水的长度就用坐标间的间隔得出。另外,本题的一个关键点:while循环中的各个条件需要同时满足。

2022-06-07 23:27:51 364 1

原创 【LeetCode】461. 汉明距离

简单题,学习位运算。

2022-06-07 15:25:47 121

原创 【LeetCode】338. 比特位计数

暴力求解的复杂度是O(nlogn),那么有没有比这更低的时间复杂度呢?

2022-06-07 09:39:35 72

原创 【LeetCode】105. 从前序与中序遍历序列构造二叉树

根据先序遍历和中序遍历构建一棵二叉树。左右子树的个数不尽相同,所以就要求在函数中传递这个长度变量。

2022-06-07 09:23:33 151

原创 【LeetCode】416. 分割等和子集

深搜代码过不了完整的测试用例。很明显这又是一道动态规划题。大意就是从固定候选集中判断是否能够组成一个数target。简直不就是0-1背包模板题嘛!只不过这里的数不可以重复取,同时用一个滚动数组减小空间的使用。.........

2022-06-06 23:39:22 105

原创 【LeetCode】437.路径总和III

前缀和也是可以应用到树中的!同时需要注意,在记录前缀和的时候需要使用字典而不是set或者list,因为我们需要利用到前缀和出现的频率信息。

2022-06-06 21:41:01 89 1

原创 【LeetCode】128. 最长连续序列

一串连续的序列只会有一个起点

2022-06-06 21:01:55 132

原创 【LeetCode】64. 最小路径和

根据数据规模,也可以佐证本题需要使用dp。(1) 定义数组dp[i,j],表示到坐标[i,j]的最小路径和;(2)根据题意描述得到状态递推公式。还有一个小细节是:可以利用Python的特性规避了复杂的边界判断,完美!

2022-06-06 20:36:24 93

原创 【LeetCode】287. 寻找重复数

只要掌握了这种交换查找的思想,就变成了简单题

2022-06-06 20:04:00 77

原创 【LeetCode】221.最大正方形

dp[i][j]表示为matrix[i][j] 位置可以得到的最大正方形的边长。那么可以得到递推公式进而得到整个矩阵中的最大正方形。

2022-06-06 19:43:52 86

原创 【LeetCode】72. 编辑距离

这道题确实有些难度,不是那么好写的。难点有二:第一,要知道这题是用动态规划写,同时能够推导出递推式;第二,要学会适当的简化条件,否则在if-else太多的时候,就容易出差错。

2022-06-06 19:03:56 122

原创 【LeetCode】494. 目标和

本题竟然可以使用动态规划?!我是大大的震惊!本题考的就是抽象分析的能力,难点在于如何将本道题转换成一个动态规划需要解决的题?

2022-06-06 10:47:30 77

原创 【LeetCode】39. 组合总和

深度优先搜索。本题主要需要考虑两点:(1)如何去重?去重就需要保证,访问了当前的下标i之后,不能再访问的元素。(2)如何保证每个数字可以重复选择?递归的时候只要保证每次访问的是当前这个下标即可,也就是需要将数组下标传入到函数中。其实这题就是普通的深搜题,没啥难度。......

2022-06-05 23:17:29 115

原创 【LeetCode】279. 完全平方数

母题是01背包题。

2022-06-05 18:52:36 152

原创 【LeetCode】337. 打家劫舍 III

树上dp,只需要定义每个节点该返回什么样的值就可以了。python可以同时返回多个数组成一个元组。

2022-06-05 16:58:36 88 2

原创 【LeetCode】238. 除自身以外数组的乘积

使用两个数组分别计算数字nums[i]前的乘积和数字nums[i]后的乘积。计算题目中需要的这个值只需要将二者乘在一起即可。

2022-06-05 16:51:11 68

原创 【LeetCode】221. 最大正方形

拿到一道算法题首先确定使用什么方法,然后再在这个基础上仔细抽象出变量的含义,再进行下一步的操作。切勿在不正确的方向上浪费时间!

2022-06-05 16:41:45 71

原创 【LeetCode】560. 和为 K 的子数组

前缀和搭配字典使用。需要注意的是:在查找map的时候,要保证前缀和的出现顺序,所以这就要求需要在生成前缀和之前来计数

2022-06-05 14:40:52 162

原创 【LeetCode】581. 最短无序连续子数组

(1)直接的想法:数组排序,然后看哪些数在正确的位置上,除此之外的,都是需要重排的。(2)使用O(n)的复杂度。在顺序遍历时获取...

2022-06-05 09:57:35 151

原创 【LeetCode】226. 翻转二叉树

递归的方法解决这道题,直接想可能会有点儿绕。最后,在解决问题的同时,还需要动作优美。

2022-06-04 22:38:30 118 1

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除