- 博客(3)
- 收藏
- 关注
原创 代码随想录算法学习Day3| LeetCode203 移除链表元素、LeetCode707 设计链表、LeetCode206 反转链表
插入和删除都是O(1),查询O(n)。适合数据量不固定,频繁增删,较少查询的场景。
2024-08-13 22:30:09
322
原创 代码随想录算法学习Day2| LeetCode977 有序数组的平方、LeetCode209 长度最小的子数组、LeetCode59 螺旋矩阵
没看解题思路前:事先知道使用滑动窗口的方法,所以尝试带入:在循环中记录开始索引start,并不断计算总和total,直到total>=target的时候,记录结束索引end,并计算出本轮有多少个元素相加,下一轮再将开始索引start+1作为新的start开始计算,直到start等于数组最后一个索引时,停止循环。看完解题思路后:双指针分别指向数组的首和尾,循环里每次比较两个指针所指向的数 的平方,大的元素放置到新数组中(从后往前),直到左指针大于右指针时循环结束,时间复杂度为O(n)---来不及了晚点写。
2024-08-12 22:16:59
178
原创 代码随想录算法学习Day1| LeetCode704 二分查找、LeetCode27 移除元素、LeetCode34 在排序数组中查找元素的第一个和最后一个位置、LeetCode35 搜索插入位置
没看解题思路前:遍历数组,把与目标相等的元素的索引位置记录在新数组中fast++)else看完解题思路后:运用二分法,分别寻找左边界(元素第一个出现的位置)和右边界(元素最后一个出现的位置)左边界:保证该元素的左边没有与目标相同的元素,如果有,缩小右边界右边界:保证该元素的右边没有与目标相同的元素,如果有,缩小左边界这题可以先把数组中无重复元素的二分法先写出来,再去考虑有重复元素的情况(这时只要调整target == nums[mid]里的情况)else。
2024-08-11 20:57:30
305
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人