pluck的Leetcode刷题记录
文章平均质量分 96
leetcode专栏!
zenpluck
行胜于言
展开
-
Leetcode刷题笔记--贪心
贪心选择性质就是从局部最优解可以得到全局最优解。它通常比动态规划更简单,但是其背后设计复杂的数学推理,大部分情况下我们不容易证明,只能通过感觉和尝试判断。可以使用「贪心算法」的问题需要满足的条件:1.最优子结构:规模较大的问题的解由规模较小的子问题的解组成,区别于「动态规划」,可以使用「贪心算法」的问题「规模较大的问题的解」只由其中一个「规模较小的子问题的解」决定。2.无后效性:后面阶段的求解不会修改前面阶段已经计算好的结果。直接刷题吧!原创 2024-06-05 12:02:58 · 836 阅读 · 0 评论 -
Leetcode刷题笔记--二分查找
之前刷了一段时间的Leetcode,当时似乎弄明白了一类题目,但是由于做的题目比较繁杂,而且没有进行总结,导致过一段时间之后有需要重新思考,又会花费大量的时间。所以我打算把之前刷过的题目类型进行一些总结与思考,以便我可以更好地掌握这些知识。今天,我打算从二分法开始进行总结。提示:以下是本篇文章正文内容,下面案例可供参考。原创 2024-02-27 23:07:50 · 965 阅读 · 0 评论 -
Leetcode刷题笔记--链表
链表相对于二叉树简单多了,它可以看成只有左子树或者右子树的二叉树。复习一下之前做过的链表题目,放松一下心情。。对于链表的相关习题先写到这,还有很多有关链表的进阶题目,需要不断的练习,才能熟能生巧!原创 2024-04-03 21:40:50 · 936 阅读 · 1 评论 -
Leetcode刷题笔记--栈和队列
栈和队列是最常见的数据结构。他们是两个针锋相对却又相互关联的数据结构。栈的特点是后进先出,队列是先进先出。其他的不多说,知道这两点就完事了,直接开始!原创 2024-03-08 22:52:04 · 1125 阅读 · 1 评论 -
Leetcode刷题笔记--滑动窗口
滑动窗口也是常考知识点,他算是双指针的一个特殊形式,再复习一下之前做过的习题,顺便将之前刷过的题目分个类,不多废话了!未完待续。。原创 2024-04-06 13:42:37 · 973 阅读 · 1 评论 -
Leetcode刷题笔记--哈希表
在力扣习题当中,哈希表是非常常见的知识点。 哈希表通过哈希函数将键映射到索引位置,因此在理想情况下,查找和插入操作的时间复杂度为O(1)。这使得哈希表非常适合于需要快速检索的场景。 因此,在某些场景中有重要的作用。本文中主要介绍哈希表的两种常见形式:unordered_map和unordered_set,这也是做题中最常用的两种类型。unordered_map是一个将key和value关联起来的容器,它可以高效的根据单个key值查找对应的value。key应该是唯一的,key和value的数据类型可以不相同原创 2024-03-04 18:04:02 · 1008 阅读 · 1 评论 -
Leetcode刷题笔记--二叉树
二叉树节点通常包含一个值以及指向左子节点和右子节点的指针。定义一个节点结构来表示二叉树的节点。我们可以通过动态分配内存来创建二叉树节点,并将它们连接起来形成一棵树。int val;在我之前写dfs的代码时候,有时候改动一个函数参数是否为引用,代码就能实现了,从而实现不同的结果,当时没太在意,对这个深搜的回溯过程也不是很了解,但是前几天看代码回想录的讲解的时候,幡然醒悟,恍然大悟,终于大概弄明白了整个回溯的过程以及代码的编写。原创 2024-03-17 23:24:18 · 972 阅读 · 1 评论 -
Leetcode刷题笔记--动态规划基础
文章目录前言一、动态规划基础问题二、网格二维dp三、背包类问题3.1 0-1背包0-1背包总结3.2 完全背包遍历顺序总结四、不同的题型3.1打劫问题3.2股票问题3.3子序列问题1.是否连续的子序列2.回文子串和子序列3.编辑距离类最终总结前言动态规划算是很难的一个知识点了,之前我按照代码随想录的教程做了相对应的题目,对动态规划有所入门,现在想把他进行一个总结,顺便复习之前做过的题目。一、动态规划基础问题动态规划(Dynamic Programming,简称DP)是一种解决复杂问题的方法。它通过原创 2024-05-07 16:53:40 · 432 阅读 · 1 评论