力扣刷题自记录
文章平均质量分 53
浅夏、
这个作者很懒,什么都没留下…
展开
-
【代码随想录算法训练营】D11 20. 有效的括号 1047. 删除字符串中的所有相邻重复项 150. 逆波兰表达式求值
1047题双指针来模拟栈的做法还蛮有意思的,注意最后要控制数组的长度。逆波兰表达式其实不难,但是细节很多,自己做的时候一直不知道问题出现在哪,看了代码随想录给的代码确实巧妙优雅,用map不仅来存储符号,还存储对应的回调函数,并且这样操作能更好处理操作数之间的顺序、隐式转换为数字、对除法做特殊处理。原创 2022-11-05 16:39:45 · 203 阅读 · 0 评论 -
【代码随想录算法训练营】D10 232.用栈实现队列 225. 用队列实现栈
不管是用栈模拟队列,还是用队列模拟栈,关键点在于不破坏元素顺序,计算控制好每次要弹出的元素个数。用队列模拟栈,两个队列可以,一个队列也可以做到。原创 2022-11-05 14:50:08 · 164 阅读 · 0 评论 -
【代码随想录算法训练营】D9 28. 找出字符串中第一个匹配项的下标 459. 重复的子字符串
KMP:模糊的记得我学过,但清楚的记得我忘了hiahiahia原创 2022-10-30 22:46:54 · 73 阅读 · 0 评论 -
【代码随想录算法训练营】D8 344. 反转字符串 541. 反转字符串Ⅱ 剑指offer 05. 替换空格 151. 翻转字符串里的单词 剑指offerⅡ. 左旋转字符串
今天美团实习一面结束,可以开始追进度啦~不过这周还要把开题报告给解决了…先占个坑等明天补叭。原创 2022-10-21 22:42:27 · 147 阅读 · 0 评论 -
【代码随想录算法训练营】D7 454.四数相加 383.赎金信 15. 三数之和 18. 四数之和
今天的题目还是需要多次练习巩固原创 2022-10-18 17:11:40 · 135 阅读 · 0 评论 -
【代码随想录算法训练营】D6 242.有效字母的异同 349. 两个数组的交集 202. 快乐数 1. 两数之和
不得不说代码随想录给出的题解比我自己的优美太多了…原创 2022-10-17 17:14:17 · 301 阅读 · 0 评论 -
【代码随想录算法训练营】D4 24.两两交换链表中的节点 19. 删除链表的倒数第N个节点 面试题02.07 链表相交 142. 环形链表Ⅱ
终于追平进度啦~链表结束,哈希表我来咯原创 2022-10-16 23:04:54 · 172 阅读 · 0 评论 -
【代码随想录算法训练营】D3 203. 移除链表元素 206. 反转链表
链表问题迭代法不难,通常使用添加虚拟头结点来使操作链表方式统一。递归法做的时候,需要把大的问题拆解成小问题,想清楚到底哪些步骤是递归项、想清楚每一小步的细节。原创 2022-10-16 22:15:33 · 244 阅读 · 0 评论 -
【代码随想录算法训练营】D2 977. 有序数组的平方 209.长度最小的子数组 59. 螺旋矩阵Ⅱ
因为一些突发状况先挖坑…过几天再填…原创 2022-10-13 23:27:52 · 109 阅读 · 0 评论 -
【代码随想录算法训练营】D1 704. 二分查找 27.移除元素
第一天,题目不难,难在坚持。继续加油~原创 2022-10-12 21:46:38 · 991 阅读 · 0 评论 -
【leetcode刷题自记录】34. 在排序数组中查找元素的第一个和最后一个位置
题干给定一个按照升序排列的整数数组 nums,和一个目标值 target。找出给定目标值在数组中的开始位置和结束位置。如果数组中不存在目标值 target,返回 [-1, -1]。进阶:你可以设计并实现时间复杂度为 O(log n) 的算法解决此问题吗?示例示例1输入:nums = [5,7,7,8,8,10], target = 8输出:[3,4]示例2输入:nums = [5,7,7,8,8,10], target = 6输出:[-1,-1]示例3输入:nums = [],原创 2022-04-04 18:20:15 · 125 阅读 · 0 评论 -
【leetcode刷题自记录】26. 删除有序数组中的重复项
题干给你一个 升序排列 的数组 nums ,请你 原地 删除重复出现的元素,使每个元素 只出现一次 ,返回删除后数组的新长度。元素的 相对顺序 应该保持 一致 。由于在某些语言中不能改变数组的长度,所以必须将结果放在数组nums的第一部分。更规范地说,如果在删除重复项之后有 k 个元素,那么 nums 的前 k 个元素应该保存最终结果。将最终结果插入 nums 的前 k 个位置后返回 k 。不要使用额外的空间,你必须在 原地 修改输入数组 并在使用 O(1) 额外空间的条件下完成。示例示例1输原创 2022-03-16 21:19:28 · 64 阅读 · 0 评论 -
【leetcode刷题自记录】18.四数之和
题干给你一个由 n 个整数组成的数组 nums ,和一个目标值 target 。请你找出并返回满足下述全部条件且不重复的四元组[nums[a], nums[b], nums[c], nums[d]](若两个四元组元素一一对应,则认为两个四元组重复):0 <= a, b, c, d < na、b、c 和 d 互不相同nums[a] + nums[b] + nums[c] + nums[d] == target你可以按任意顺序返回答案 。示例示例1输入:nums = [1,0,-1,原创 2022-03-16 20:17:06 · 5572 阅读 · 0 评论 -
【leetcode刷题自记录】16. 最接近的三数之和
题干给你一个长度为 n 的整数数组 nums 和 一个目标值 target。请你从 nums 中选出三个整数,使它们的和与 target 最接近。返回这三个数的和。假定每组输入只存在恰好一个解。示例示例1输入:nums = [-1,2,1,-4], target = 1输出:2解释:与 target 最接近的和是 2 (-1 + 2 + 1 = 2) 。示例2输入:nums = [0,0,0], target = 1输出:0题解排序+双指针时间复杂度:O(N^2) 空间复杂度原创 2022-03-16 16:31:06 · 133 阅读 · 0 评论 -
【leetcode刷题自记录】15. 三数之和
题干给你一个包含n个整数的数组nums,判断nums是否存在三个元素a,b,c,使得a+b+c = 0 ?请你找出所有和为0且不重复的三元组。注意:答案中不可以包含重复的三元组。示例示例1输入:nums = [-1,0,1,2,-1,-4]输出:[[-1,-1,2],[-1,0,1]]示例2输入:nums = []输出:[]示例3输入:nums = [0]输出:[]题解(一) 排序+双指针时间复杂度:O(n^2) 空间复杂度:O(1)思路及解法边界情况:如果数组长度为原创 2022-03-15 14:42:40 · 590 阅读 · 0 评论 -
【leetcode刷题自记录】11. 盛水最多的容器
题干给定一个长度为 n 的整数数组 height 。有 n 条垂线,第 i 条线的两个端点是 (i, 0) 和 (i, height[i]) 。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。返回容器可以储存的最大水量。说明:你不能倾斜容器。示例示例1输入:[1,8,6,2,5,4,8,3,7]输出:49 解释:图中垂直线代表输入数组 [1,8,6,2,5,4,8,3,7]。在此情况下,容器能够容纳水(表示为蓝色部分)的最大值为 49。示例2输入:height原创 2022-03-15 11:26:24 · 94 阅读 · 0 评论 -
【leetcode刷题自记录】4. 寻找两个正序数组的中位数
题干给定两个大小分别为m和n的正序(从小到大)数组nums1和nums2,请你找出并返回这两个正序数组的中位数。算法的时间复杂度应该为O(log(m+n))。示例示例1输入:nums1 = [1,3], nums2 = [2]输出:2.00000解释:合并数组 = [1,2,3] ,中位数 2示例2输入:nums1 = [1,2], nums2 = [3,4]输出:2.50000解释:合并数组 = [1,2,3,4] ,中位数 (2 + 3) / 2 = 2.5题解(一)归并排原创 2022-03-15 09:58:39 · 333 阅读 · 0 评论 -
【leetcode刷题自记录】1. 两数之和
题干给定一个整数数组nums和一个整数目标值target,请你在该数组中找出和为目标值target的那两个整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。示例示例1:输入:nums = [2,7,11,15], target = 9输出:[0,1]解释:因为 nums[0] + nums[1] == 9 ,返回 [0, 1] 。示例2:输入:nums = [3,2,4], target = 6输出:[1,2]示例3:输入原创 2022-03-15 00:23:27 · 1596 阅读 · 0 评论