
力扣Top100
Allenlzcoder
拒绝拖延症!!!
展开
-
【重点】【特例】287.寻找重复数
2种方法,都要理解掌握!最简单的基于HashSet的就不写在下面了,过于简单了。原创 2023-12-28 00:12:45 · 403 阅读 · 0 评论 -
【重点】【特例】31.下一个排列
【代码】【重点】【特例】31.下一个排列。原创 2023-12-27 18:28:43 · 403 阅读 · 0 评论 -
【重点】【三指针】【荷兰国旗问题】【快排】75.颜色分类
中间的指针则进行遍历,发现元素0则跟头指针交换元素,并各自加1,发现元素2则跟尾指针交换,尾指针减1。思路还是很清晰的,多指针,一头一尾分别用来放置0和2。原创 2023-12-27 17:03:08 · 421 阅读 · 1 评论 -
【重点!!!】【栈】32.最长的有效括号
基于栈是最好的方案,代码简单,时间复杂度低;dp代码复杂,复杂度高。原创 2023-12-27 14:03:20 · 354 阅读 · 0 评论 -
【重点】【DP】【01背包】416.分割等和子集
基础解法,必须掌握!原创 2023-12-27 11:01:32 · 413 阅读 · 0 评论 -
【重点】【DP】139.单词拆分
【代码】【重点】【DP】139.单词拆分。原创 2023-12-27 00:14:30 · 368 阅读 · 0 评论 -
【重点】【DP】279.完全平方数
跟完全背包问题的解法一致!相同思路,对比记忆!原创 2023-12-26 23:37:53 · 342 阅读 · 0 评论 -
【重点】【贪心】763.划分字母区间
一模一样,只是细节稍有出入,对比记忆!原创 2023-12-26 19:16:36 · 420 阅读 · 0 评论 -
【重点!!!】【贪心】45.跳跃游戏II
在遍历数组时,我们不访问最后一个元素,这是因为在访问最后一个元素之前,我们的边界一定大于等于最后一个位置,否则就无法跳到最后一个位置了。如果访问最后一个元素,在边界正好为最后一个位置的情况下,我们会增加一次「不必要的跳跃次数」,因此我们不必访问最后一个元素。在具体的实现中,我们维护当前能够到达的最大下标位置,记为边界。我们从左到右遍历数组,到达边界时,更新边界并将跳跃次数增加 1。贪心是最优解法,必须掌握!重点理解,看B站视频辅助!原创 2023-12-26 18:07:10 · 471 阅读 · 0 评论 -
【重点】【堆】347.前K个高频元素
最大的K个元素 => 小根堆(类似上窄下宽的梯形)最小的K个元素 => 大根堆(类似倒三角形)原创 2023-12-25 02:17:02 · 458 阅读 · 0 评论 -
【重点!!!】【堆】【快排】215.数组中的第K个最大元素
【代码】【重点!!!】【堆】215.数组中的第K个最大元素。原创 2023-12-25 01:46:05 · 485 阅读 · 0 评论 -
【重点!!!】【单调栈】84.柱状图中最大矩形
【代码】【重点!!!】【单调栈】84.柱状图中最大矩形。原创 2023-12-25 01:13:04 · 478 阅读 · 0 评论 -
【重点!!!】【栈】394.字符串解码
【代码】【重点!!!】【栈】394.字符串解码。原创 2023-12-24 20:17:22 · 406 阅读 · 0 评论 -
【重点!!!】【二分查找】4.寻找两个正序数组的中位数
时间复杂度:O(logMin(m, n)),空间复杂度:O(1)。原创 2023-12-24 15:34:19 · 440 阅读 · 0 评论 -
【重点】【完全背包】【DP】322.零钱兑换
【代码】【重点】【DP】322.零钱兑换。原创 2023-12-22 21:37:22 · 431 阅读 · 0 评论 -
【重点】【DP】72.编辑距离
二维DP,自底向上,参见《算法小抄》中的解释,更容易理解!原创 2023-12-21 12:01:04 · 407 阅读 · 0 评论 -
【重点】【DP】1143.最长公共子序列|516.最长回文子序列
代码会啰嗦很多,所以还是法1好哇!原创 2023-12-21 01:10:06 · 456 阅读 · 0 评论 -
【重点】【DP】5.最长回文子串|516.最长回文子序列
【代码】【DP】5.最长回文子串。原创 2023-12-21 00:17:07 · 459 阅读 · 0 评论 -
【DP】64.最小路径和
【代码】【DP】64.最小路径和。原创 2023-12-20 23:45:58 · 428 阅读 · 0 评论 -
【DP】62.不同路径
【代码】【DP】62.不同路径。原创 2023-12-20 23:38:51 · 506 阅读 · 0 评论 -
【重点】【DP】300.最长递增子序列
必须掌握,O(N^2) + O(N)原创 2023-12-20 13:50:43 · 408 阅读 · 0 评论 -
【重点】【DP】152.乘积最大的子数组
如果只有正数,我们只需要考虑最大乘积f[i];有负数,需要考虑与负数相乘的数,越小越好。所以d[i] 维护最小乘积。f[i]表示以i结尾的连续子数组的最大乘积,d[i]表示以i结尾的连续子数组的最小乘积。原创 2023-12-20 12:08:24 · 394 阅读 · 0 评论 -
【摩尔投票】169.多数元素
【代码】【摩尔投票】169.多数元素。原创 2023-12-20 11:22:43 · 400 阅读 · 1 评论 -
【位运算】136.只出现1次的数字
【代码】【位运算】136.只出现1次的数字。原创 2023-12-20 11:07:20 · 436 阅读 · 0 评论 -
【DP】198.打家劫舍
【代码】【DP】198.打家劫舍。原创 2023-12-20 02:18:37 · 416 阅读 · 0 评论 -
【DP】118.杨辉三角
【代码】【DP】118.杨辉三角。原创 2023-12-20 02:09:41 · 385 阅读 · 0 评论 -
【DP】70.爬楼梯
相当于计算斐波那契数列。原创 2023-12-20 01:57:23 · 411 阅读 · 0 评论 -
【重点】【贪心】55.跳跃游戏
【代码】【重点】【贪心】55.跳跃游戏。原创 2023-12-20 01:50:36 · 405 阅读 · 0 评论 -
【DP】121.买卖股票的最佳时机
【代码】【DP】121.买卖股票的最佳时机。原创 2023-12-20 01:35:44 · 409 阅读 · 0 评论 -
【重点】【优先队列】295.数据流的中位数
【代码】【重点】【优先队列】295.数据流的中位数。原创 2023-12-20 01:28:27 · 407 阅读 · 1 评论 -
【重点】【单调栈】739.每日温度
必须掌握算法,关于单调栈、单调队列和环形队列相关参见《算法小抄》相关内容。原创 2023-12-20 00:52:11 · 372 阅读 · 0 评论 -
【栈】155.最小栈
【代码】【栈】155.最小栈。原创 2023-12-20 00:22:54 · 359 阅读 · 0 评论 -
【栈】20.有效的括号
【代码】【栈】20.有效的括号。原创 2023-12-20 00:11:25 · 407 阅读 · 0 评论 -
【重点】【二分查找】153.寻找旋转排序数组中的最小值
利用mid区分左右段。原创 2023-12-19 20:15:27 · 415 阅读 · 0 评论 -
【重点!】【二分查找】33.搜索旋转排序数组
根据mid来分段,此思路需要牢记!原创 2023-12-19 19:51:23 · 421 阅读 · 0 评论 -
【重点】【二分查找】34. 在排序数组中查找元素的第一个和最后一个位置
注意:寻找完边界后,要判断两者是否合法!原创 2023-12-19 18:28:43 · 392 阅读 · 0 评论 -
74.搜索二维矩阵
【代码】74.搜索二维矩阵。原创 2023-12-19 18:16:17 · 705 阅读 · 0 评论 -
【二分查找】35.搜索插入位置
基础方法,必须掌握!原创 2023-12-19 18:11:13 · 445 阅读 · 0 评论 -
【回溯】【回文字符串】131.分割回文串
注意:使用ArrayList删除尾元素比LinkedList要快很多!主要优化回文串判断部分。原创 2023-12-19 11:37:34 · 390 阅读 · 0 评论 -
【回溯】【DFS】51.N皇后
【代码】【回溯】【DFS】51.N皇后。原创 2023-12-19 01:51:33 · 407 阅读 · 0 评论