自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 收藏
  • 关注

原创 leetcode 206. Reverse Linked List反转链表

1. 没有处理head->next, 未将头节点的next pointer指向nullptr,使得链表形成循环。2. 最后一个节点实际上已被正确处理但是由于没想清楚,重复处理了最后一个节点。链表反转是一个常见的算法题,但是容易出现一些小问题。

2025-02-10 23:45:56 107

原创 LeetCode 82: 删除排序链表中的重复元素 II

给定一个已排序的链表的头节点head,要求删除所有重复的节点(所有出现重复的节点全部删除),只保留原链表中出现过一次的节点。返回已排序的链表。

2025-02-09 10:22:48 107

原创 leetcode 707. Design Linked List设计链表

1. 使用 struct 而不是 class,因为链表节点主要是承载数据,不需要封装。3. 使用初始化列表,良好的 C++ 编程习惯。2. 提供两个构造函数,方便节点创建。

2025-02-09 09:38:51 193

原创 leetcode 209. 最小连续子数组和 Minimum Size Subarray Sum

在这道题中,目标是找到数组中和大于等于 target 的最小连续子数组的长度。最直观的暴力解法是枚举每个子数组,但时间复杂度较高。于是,我们可以采用滑动窗口(Sliding Window)的思想,将时间复杂度优化到 O(n)。

2025-02-07 04:57:30 320

原创 leetcode 31 Next Permutation —— 找到字典序的下一个排列

给定一个整数数组,将它看作一个排列,求出其字典序的下一个排列。如果不存在下一个排列,则将数组重排为最小排列(升序排列)。

2025-02-07 01:33:20 218

原创 Leetcode27 Remove Element移除元素

通过这种方式,最终慢指针的索引就代表了新数组的长度,同时数组的前 slow 个位置存放的即是所有不等于。删除元素后,数组前 k 个位置的元素即为新数组内容,不要求保持原有顺序。的元素删除,并返回剩余不等于。,要求将数组中所有等于。

2025-02-07 00:12:11 189

原创 leetcode 704. Binary Search二分查找

二分查找算法详解:从理论到实践二分查找虽然概念简单,但实现时的细节需要进行思考,不要想当然。正确处理循环条件、中间位置计算和指针更新是写出无bug代码的关键。

2025-02-06 23:40:03 299

原创 leetcode stack and queue, leetcode 347/150/239

在 C++ 中,优先队列(priority queue)默认是最大堆,因此我们需要自定义比较函数,将其转换为最小堆。如果优先队列的大小超过 k,则弹出堆顶元素,以确保优先队列中始终只包含频率最高的 k 个元素。遍历 unordered_map 中的频率对,每次将当前元素的频率推入优先队列中。给定一个整数数组 nums 和一个整数 k,返回 k 个出现频率最高的元素。创建一个最小堆(min heap),用于存储频率最高的 k 个元素。将最小堆中的元素提取出来,放入结果向量中并返回。

2024-07-31 22:45:54 763

原创 Day4_Linked_List(leetcode 19/24/142)

这两天事情有点多,只记录了大致心得和思路。

2024-04-21 04:05:59 474 1

原创 day3_linked_list related(leetcode 206/207/707)

通过这道题的练习,复习了单链表的基本操作。但在代码实现过程中,还是有些小细节需要注意,比如在插入和删除操作时,需要先找到对应位置的前一个节点。另外在各种操作前,需要判断链表是否为空以及索引是否有效。总的来说,对链表的操作还不够熟练,还需要多加练习。接下来打算继续练习一些链表相关的题目,如链表的反转、合并等,以加深对链表的理解和应用。同时还要注意培养编码的耐心,养成仔细分析问题的习惯。i++) {if (

2024-04-21 02:49:17 541 1

原创 day2_螺旋矩阵II(leetcode59)

在尝试解决这个问题时,我最初的想法是寻找一个整体填充每个值的模式,可以通过一些技巧来更新矩阵。从这个经验可以学到,如果没有一个巧妙的思路,就应该尽可能先使用能想到的暴力解法(brute force)来尝试解决问题,然后再思考可能的优化空间。在实现过程中,需要特别注意当 n 为奇数时,如何正确处理矩阵中心的值。我在实现中没有正确的处理中心值,并且判断条件也没有正确设置循环终止条件,导致进入了死循环。为了避免这种情况,我们需要多尝试画图测试几个实际的例子,然后总结归纳出具体的实现方法。

2024-04-18 10:22:06 566 1

原创 day2_长度最小的子数组(leetcode207)

如果不存在符合条件的子数组,返回。是该条件下的长度最小的子数组。找出该数组中满足其总和大于等于。个正整数的数组和一个正整数。

2024-04-18 10:12:20 921 1

原创 day2_有序数组的平方(leetcode977)

由于初始数组按非递减顺序排序,因此最左侧和最右侧具有最大的正数和负数的绝对值。你可以初始化两个指针分别指向最左侧和最右侧,不断比较它们的值,并将其插入到解决方案向量中。需要注意的是,插入的顺序需要从末尾到开头,因为题目要求返回的结果也要按非递减顺序排列。的使用是不必要的,可以直接从末尾到开头将元素的平方值插入到。的末尾到开头遍历,将每个元素的平方值依次插入到结果向量。排序后,数组变为 [0,1,9,16,100]的绝对值大小,将较大的值存储在临时向量。,分别指向数组的开头和结尾。组成的新数组,要求也按。

2024-04-18 09:59:05 379 1

原创 Day1_移除元素(remove element)_leetcode27

前情提要:在养成写一些博客的习惯,同时练习英文表述和分析问题的能力,所以内容均为英文。

2024-04-17 05:54:22 852 1

原创 Day1_二分查找(Binary Serach)

前情提要:在养成写一些博客的习惯,同时练习英文表叔问题的能力,所以内容均为英文。

2024-04-17 04:45:41 1141 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除