
LeetCode刷题笔记
文章平均质量分 51
博主独家LeetCode刷题笔记
easy_understand-ML
持续努力的在校大学生
展开
-
26. 删除有序数组中的重复项
给你一个的数组 nums ,请你删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。元素的应该保持 一致。然后返回 nums 中唯一元素的个数。考虑 nums 的唯一元素的数量为 k ,你需要做以下事情确保你的题解可以被通过:更改数组 nums ,使 nums 的前 k 个元素包含唯一元素,并按照它们最初在 nums 中出现的顺序排列。nums 的其余元素与 nums 的大小不重要。返回 k。输入:nums = [1,1,2]输出:2, nums = [1,2,_]原创 2024-05-22 07:58:31 · 374 阅读 · 1 评论 -
25. K 个一组翻转链表
给你链表的头节点 head ,每 k 个节点一组进行翻转,请你返回修改后的链表。k 是一个正整数,它的值小于或等于链表的长度。如果节点总数不是 k 的整数倍,那么请将最后剩余的节点保持原有顺序。你不能只是单纯的改变节点内部的值,而是需要实际进行节点交换。示例 1:输入:head = [1,2,3,4,5], k = 2输出:[2,1,4,3,5]示例 2:输入:head = [1,2,3,4,5], k = 3输出:[3,2,1,4,5]原创 2024-05-22 07:57:59 · 417 阅读 · 0 评论 -
24. 两两交换链表中的节点
给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交换)。输入:head = [1,2,3,4]输出:[2,1,4,3]输入:head = []输出:[]输入:head = [1]输出:[1]原创 2024-05-21 09:24:47 · 391 阅读 · 0 评论 -
23. 合并 K 个升序链表
给你一个链表数组,每个链表都已经按升序排列。请你将所有链表合并到一个升序链表中,返回合并后的链表。原创 2024-05-21 09:24:15 · 780 阅读 · 0 评论 -
22. 括号生成
数字 n 代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且 有效的 括号组合。原创 2024-05-20 11:11:09 · 393 阅读 · 0 评论 -
21. 合并两个有序链表
将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。示例 1:输入:l1 = [1,2,4], l2 = [1,3,4]输出:[1,1,2,3,4,4]示例 2:输入:l1 = [], l2 = []输出:[]示例 3:输入:l1 = [], l2 = [0]输出:[0]原创 2024-05-20 11:10:37 · 548 阅读 · 0 评论 -
20. 有效的括号
给定一个只包括 ‘(’,‘)’,‘{’,‘}’,‘[’,‘]’ 的字符串 s ,判断字符串是否有效。原创 2024-05-19 09:11:34 · 253 阅读 · 0 评论 -
19. 删除链表的倒数第 N 个结点
给你一个链表,删除链表的倒数第 n 个结点,并且返回链表的头结点。示例 1:输入:head = [1,2,3,4,5], n = 2输出:[1,2,3,5]示例 2:输入:head = [1], n = 1输出:[]示例 3:输入:head = [1,2], n = 1输出:[1]提示:链表中结点的数目为 sz进阶:你能尝试使用一趟扫描实现吗?原创 2024-05-18 19:16:05 · 421 阅读 · 0 评论 -
18. 四数之和
给你一个由 n 个整数组成的数组 nums ,和一个目标值 target。请你找出并返回满足下述全部条件且不重复的四元组 [nums[a], nums[b], nums[c], nums[d]] (若两个四元组元素一一对应,则认为两个四元组重复):a、b、c 和 d 互不相同你可以按 任意顺序 返回答案。原创 2024-05-18 19:15:35 · 275 阅读 · 0 评论 -
17. 电话号码的字母组合
给定一个仅包含数字 2-9 的字符串,返回所有它能表示的字母组合。答案可以按 任意顺序 返回。给出数字到字母的映射如下(与电话按键相同)。注意 1 不对应任何字母。原创 2024-05-17 13:40:29 · 191 阅读 · 0 评论 -
16. 最接近的三数之和
给你一个数组nums,和目标值target。从nums选出3个数,使这3个数的和最接近target,返回这三个数的和。原创 2024-05-17 13:39:15 · 314 阅读 · 0 评论 -
15. 三数之和
给你一个数组,任选3个数,其和等于0。返回全部的这3个数。不能包含一样的3元组。原创 2024-05-15 11:04:54 · 432 阅读 · 0 评论 -
14. 最长公共前缀
编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串 “”。原创 2024-05-14 18:22:36 · 283 阅读 · 2 评论 -
13. 罗马数字转整数
给你一个字符串s,s中只包含字符串罗马数字。罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。通常情况下,罗马数字中小的数字在大的数字的右边。原创 2024-05-14 18:21:58 · 352 阅读 · 0 评论 -
12. 整数转罗马数字
给你一个整数,转成罗马数字。罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。通常情况下,罗马数字中小的数字在大的数字的右边。原创 2024-05-11 22:48:36 · 239 阅读 · 0 评论 -
11. 盛最多水的容器
给你一个数组,数组的每个数字表示每个板子的高度,相邻的2个板子之间的距离为1。问任意2个板子之间最大的盛水量。原创 2024-05-11 22:47:55 · 277 阅读 · 0 评论 -
10. 正则表达式匹配
2个字符串s和p,p中包含小写字母,其中匹配任意单个字符匹配零个或多个前面的那一个元素保证每次出现字符 * 时,前面都匹配到有效的字符按照这个规则来判断s和p是否匹配。原创 2024-05-10 19:44:02 · 365 阅读 · 0 评论 -
6. Z 字形变换
给你一个字符串s和行数numRows,把s字符串按照z字形重新排列。再从左往右进行读取,返回读取之后的字符串。本题是找规律,原创 2024-05-07 22:55:16 · 317 阅读 · 0 评论 -
9. 回文数
判断一个整数是不是回文整数。原创 2024-05-08 21:22:43 · 246 阅读 · 0 评论 -
8. 字符串转换整数 (atoi)
把一个字符串变成整数字符串由英文字母(大写和小写)、数字(0-9)、’ ‘、’+‘、’-’ 和 ‘.’ 组成。原创 2024-05-08 21:22:05 · 272 阅读 · 0 评论 -
7. 整数反转
32位有符号整数x,把它反转,超出有符号整数的范围就返回0。原创 2024-05-08 21:21:30 · 510 阅读 · 0 评论 -
5. 最长回文子串
给你一个字符串s,找出符合要求的最长子串的长度。该子串位回文串。原创 2024-05-07 22:45:46 · 396 阅读 · 0 评论 -
4. 寻找两个正序数组的中位数
2个有序数组(保证不能同时为空)长度分别为m,n;求他们的中位数。要求时间复杂度。原创 2024-05-03 12:15:09 · 99 阅读 · 0 评论 -
3. 无重复字符的最长子串
求不含重复字符的最长子串的长度。原创 2024-05-03 12:12:50 · 145 阅读 · 0 评论 -
2. 两数相加
两个数都是非负整数,且数的每一位都存储在链表中,求这两个数的和。原创 2024-05-03 12:10:50 · 170 阅读 · 0 评论 -
1. 两数之和
在数组中找到两个数的和为target的下标。注意返回的2个下标的不能相等。原创 2024-05-03 12:09:46 · 130 阅读 · 0 评论 -
map,set理解应用
这一题和上面的那一题几乎一模一样,主要注意的是这道题目要分割字符串,把每个单词分割出来,还有就是要注意把小写改成大写——用的。里面的数据再插入到优先级队列中,但是我们要重新实现它的比较方法,最后取前k个数据就可以了。中,要把键和值互换一下,因为题目要求的是按照单词出现次数的多少进行排序,而。不知道的小伙伴可以自行去找资料,我也是找资料写出的。统计好单词的个数,这是字典顺序排好序的,接下来把。进行储存单词和统计单词的个数,然后把。是允许出现键是重复的。原创 2022-12-23 12:13:41 · 111 阅读 · 2 评论 -
二叉树非递归遍历
二叉树非递归遍历:二叉树的前序遍历二叉树的中序遍历二叉树的后序遍历原创 2022-12-19 12:51:49 · 220 阅读 · 9 评论 -
二叉树进阶
根据二叉树创建字符串二叉树的层序遍历二叉树的最近公共祖先二叉搜索树与双向链表从前序与中序遍历序列构造二叉树从中序与后序遍历序列构造二叉树原创 2022-12-17 18:34:35 · 887 阅读 · 10 评论 -
vector刷题lc
118.杨辉三角思路代码26.删除有序数组中的重复项思路代码JZ39数组中出现次数超过一半的数字思路代码137.只出现一次的数字II思路代码136.只出现一次的数字思路代码260.只出现一次的数字III思路代码17.电话号码的字母组合思路代码原创 2022-10-15 23:04:15 · 440 阅读 · 7 评论 -
string刷题lc
把字符串转换成整数思路代码415.字符串相加思路代码344.反转字符串思路代码387.字符串中的第一个唯一字符思路代码HJ1字符串最后一个单词的长度思路代码125.验证回文串思路代码541.反转字符串II思路代码557.反转字符串中的单词III思路代码43.字符串相乘思路代码原创 2022-10-09 12:28:11 · 357 阅读 · 13 评论 -
巩固类和对象的知识点——牛客5道题目
学习了c++之后,我们知道每次进行对象实例化的时候,都会调用构造函数,我们利用这个特性。在实现一个类,类的成员为静态的(因为要求和,要保留上一次的构造)。根据前一个月的累计天数加上该月的天数即为这一年的第几天。当该日期大于该年月的日期,就需要减掉该年月的日常,同时月数加1,如果月数等于13,则修改成1,且年数加1。这个的日常差值,我用的是每天每天进行累计的。从题目的要求中可以看出,不能使用循环,分支语句,也不能使用位运算符,不能使用递归。对于加的日期我们需要进行调整,使它变成正常的日期。原创 2022-09-21 17:29:21 · 652 阅读 · 10 评论 -
刷题——笔记2
NC31第一个只出现一次的字符解题思路代码面试题01.01.判定字符是否唯一解题思路代码349.两个数组的交集解题思路代码724.寻找数组的中心下标解题思路代码原创 2022-07-15 15:13:39 · 274 阅读 · 5 评论 -
刷题——笔记1
暴力遍历从头开始遍历,只要出现左边大于右边的就找到该峰值了。二分:中间的大于右边的,说明左边有峰值。中间的小于右边的,说明右边有峰值。直到区间里面就剩下一个值。二分HJ99自守数思路根据这个定义,自守数就是i*(i-1)%10^m如果为0,就是自守数。然而题目对n是有限制的,所以我们可以对m进行一一列举。具体的列举看代码。OR86返回小于N的质数个数思路对于任意一个数n,在2~n-1之间出现能被n整除的,就不是素数。进阶:不是质数一定可以写成两个数相乘的形式。那么我们只需要筛选比开方小的原创 2022-07-10 16:55:35 · 156 阅读 · 0 评论 -
二叉树oj题目
单值二叉树解题思路代码二叉树的最大深度题目描述解题思路代码相同的树题目描述解题思路代码对称二叉树题目描述解题思路代码二叉树的前序遍历题目描述解题思路代码二叉树的中序遍历题目描述代码二叉树的后序遍历题目描述代码另一棵树的子树题目描述解题思路代码二叉树遍历题目描述代码...原创 2022-06-25 12:42:20 · 425 阅读 · 11 评论 -
leetcode——错误的集合
建一个有序的集合,数据从小到大1~n。然后依次遍历原集合,原集合里面的数据出现一次就把有序集合中的该数据制成0,当遍历的时候有序集合出现为0的情况,就找到了重复的一个数值,当遍历完的时候,有序集合中非0的就是缺少的数值。时间复杂度O(n),空间复杂度O(n)...原创 2022-06-21 18:42:53 · 1690 阅读 · 5 评论 -
栈与队列的3个oj题
栈与队列225.用队列实现栈解题思路代码232.用栈实现队列解题思路代码622.设计循环队列解题思路代码225.用队列实现栈解题思路代码232.用栈实现队列解题思路代码622.设计循环队列解题思路代码...原创 2022-05-20 18:54:33 · 530 阅读 · 9 评论 -
20. 有效的括号
20. 有效的括号有效的括号解题思路代码有效的括号解题思路代码原创 2022-05-16 07:23:56 · 106 阅读 · 0 评论 -
11道链表oj题
链表oj题反转链表解题思路代码链表的中间结点解题思路代码移除链表元素解题思路代码链表中倒数第k个结点解题思路代码合并两个有序链表解题思路代码链表分割解题思路代码链表的回文结构解题思路代码相交链表解题思路代码环形链表1解题思路代码环形链表2解题思路代码复制带随机指针的链表解题思路代码原创 2022-05-14 07:46:08 · 960 阅读 · 30 评论 -
26. 删除有序数组中的重复项
26. 删除有序数组中的重复项题目描述解题思路代码题目描述点击直达题目链接26. 删除有序数组中的重复项解题思路代码原创 2022-04-22 15:43:42 · 435 阅读 · 13 评论