自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 美团高频编程考题:两两交换链表中的节点(中等)

具体可参考:https://zyfcodes.blog.csdn.net/article/details/141401712

2024-10-03 10:36:24 205

原创 美团高频编程考题:删除链表的倒数第 N 个结点(中等)

具体可参考:https://zyfcodes.blog.csdn.net/article/details/141401712

2024-10-03 10:35:45 231

原创 美团高频编程考题:两数相加(中等)

具体可参考:https://zyfcodes.blog.csdn.net/article/details/141401712

2024-10-03 10:35:10 210

原创 美团高频编程考题:合并两个有序链表(简单)

具体可参考:https://zyfcodes.blog.csdn.net/article/details/141401712

2024-10-03 10:34:34 218

原创 美团高频编程考题:环形链表 II(中等)

具体可参考:https://zyfcodes.blog.csdn.net/article/details/141401712

2024-10-03 10:34:01 234

原创 美团高频编程考题:环形链表(简单)

具体可参考:https://zyfcodes.blog.csdn.net/article/details/141401712

2024-10-03 10:31:57 349

原创 美团高频编程考题:回文链表(简单)

具体可参考:https://zyfcodes.blog.csdn.net/article/details/141401712

2024-10-03 10:31:17 233

原创 美团高频编程考题:反转链表(简单)

具体可参考:https://zyfcodes.blog.csdn.net/article/details/141401712

2024-10-03 10:30:45 321

原创 美团高频编程考题:相交链表(简单)

具体可参考:https://zyfcodes.blog.csdn.net/article/details/141401712

2024-10-03 10:30:11 306

原创 美团高频编程考题:搜索二维矩阵 II(中等)

具体可参考:https://zyfcodes.blog.csdn.net/article/details/141401712

2024-10-03 10:29:37 266

原创 美团高频编程考题:旋转图像(中等)

具体可参考:https://zyfcodes.blog.csdn.net/article/details/141401712

2024-10-03 10:29:02 761

原创 美团高频编程考题:螺旋矩阵(中等)

具体可参考:https://zyfcodes.blog.csdn.net/article/details/141401712

2024-10-03 10:28:28 220

原创 美团高频编程考题:矩阵置零 (中等)

具体可参考:https://zyfcodes.blog.csdn.net/article/details/141401712

2024-10-03 10:27:52 402

原创 美团高频编程考题:缺失的第一个正数 (困难)

具体可参考:https://zyfcodes.blog.csdn.net/article/details/141401712

2024-10-03 10:27:22 338

原创 美团高频编程考题:除自身以外数组的乘积 (中等)

具体可参考:https://zyfcodes.blog.csdn.net/article/details/141401712

2024-10-03 10:26:50 376 1

原创 美团高频编程考题:两数之和

我们只需遍历数组一次,对于数组中的每个元素,哈希表的查找和插入操作的时间复杂度都是 O(1),因此总的时间复杂度为 O(n)。在最坏的情况下(没有两个元素的和为目标值),我们需要在哈希表中存储数组中所有的元素及其下标,因此空间复杂度为 O(n)。我们可以通过一次遍历数组的方式解决该问题。因为 nums[0] + nums[1] == 9 ,返回 [0, 1]。你可以假设每种输入只会对应一个答案,并且你不能使用两次相同的元素。整数,并返回它们的数组下标。你可以按任意顺序返回答案。,请你在该数组中找出。

2024-10-02 14:08:12 372

原创 美团高频编程考题:字母异位词分组 (中等)

要将字母异位词组合在一起,我们可以利用哈希表(HashMap)的特性。:O(n * k)。需要使用额外的空间来存储排序后的字符串,以及存储结果的哈希表。哈希表最多需要 O(n * k) 的空间,其中。具体可参考:https://zyfcodes.blog.csdn.net/article/details/141401712。是由重新排列源单词的所有字母得到的一个新单词。是字符串数组的长度,是字符串的平均长度。是字符串数组的长度,是字符串的平均长度。

2024-10-02 14:07:27 374

原创 美团高频编程考题:最长连续序列 (中等)

要在未排序的整数数组中找出最长的连续序列,并且时间复杂度要求为 O(n),可以采用哈希集(HashSet)来进行优化。具体可参考:https://zyfcodes.blog.csdn.net/article/details/141401712。需要一个哈希集来存储数组中的所有元素,最坏情况下需要 O(n) 的额外空间。每个数字最多只会被访问一次,因此时间复杂度为 O(n),其中。在哈希集中插入和查找的操作时间复杂度都是 O(1)。,找出数字连续的最长序列(不要求序列元素在原数组中连续)的长度。

2024-10-02 14:06:55 155

原创 美团高频编程考题:移动零 (简单)

数组中的每个元素最多被遍历两次(一次在第一次遍历时移动非零元素,另一次在填充零时),因此时间复杂度为 O(n)。具体可参考:https://zyfcodes.blog.csdn.net/article/details/141401712。到数组末尾,同时保持非零元素的相对顺序,我们可以使用双指针技术来实现。移动到数组的末尾,同时保持非零元素的相对顺序。,必须在不复制数组的情况下原地对数组进行操作。只使用了常数级别的额外空间,即指针。为了在不复制数组的情况下原地移动所有。,因此空间复杂度为 O(1)。

2024-10-02 14:06:18 252

原创 美团高频编程考题:盛最多水的容器 (中等)

图中垂直线代表输入数组 [1,8,6,2,5,4,8,3,7]。在此情况下,容器能够容纳水(表示为蓝色部分)的最大值为 49。这个问题可以通过使用双指针的方式来解决。在双指针法中,每一步只移动一个指针,一共需要遍历整个数组一次,因此时间复杂度为 O(n)。只使用了固定的额外空间来存储指针和最大面积,因此空间复杂度为 O(1)。轴共同构成的容器可以容纳最多的水。找出其中的两条线,使得它们与。返回容器可以储存的最大水量。

2024-10-02 14:05:47 281

原创 美团高频编程考题: 三数之和 (中等)

不同的三元组是 [-1,0,1] 和 [-1,-1,2]。注意,输出的顺序和三元组的顺序并不重要。要在数组中找出所有和为 0 且不重复的三元组,可以采用排序+双指针的方法。唯一可能的三元组和为 0。

2024-10-02 14:05:07 362

原创 美团高频编程考题:接雨水 (困难)

上面是由数组 [0,1,0,2,1,0,1,3,2,1,2,1] 表示的高度图,在这种情况下,可以接 6 个单位的雨水(蓝色部分表示雨水)。只使用了固定的额外空间来存储指针和变量,因此空间复杂度为 O(1)。为了计算在柱子之间能够接住多少雨水,可以使用双指针的方法。的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。指针相遇时,遍历结束,所有的雨水量已经计算完毕。位置的柱子可能会接住雨水,接住的水量取决于。,以便在接下来的计算中使用。用于记录接住的总雨水量。,则能接住雨水,并将。位置能接住的雨水量。

2024-10-02 14:04:36 308

原创 美团高频编程考题:无重复字符的最长子串 (中等)

为了解决这个问题,可以使用滑动窗口的技术。滑动窗口可以动态地维护一个子串,并且当发现子串中有重复字符时,可以调整窗口的起始位置,从而找到不含重复字符的最长子串。使用了一个哈希集来存储当前窗口内的字符,最坏情况下需要存储所有字符,因此空间复杂度与字符集大小。:每次更新窗口后,记录当前窗口的长度,并与已知的最大长度进行比较,保留较大的值。指针右移,缩小窗口,直到窗口内没有重复字符为止。因此,总的时间复杂度为 O(n),其中。中时,说明出现了重复字符,这时需要将。,请你找出其中不含有重复字符的。

2024-10-02 14:04:05 224

原创 美团高频编程考题:找到字符串中所有字母异位词 (中等)

起始索引等于 0 的子串是 "ab", 它是 "ab" 的异位词。起始索引等于 1 的子串是 "ba", 它是 "ab" 的异位词。起始索引等于 2 的子串是 "ab", 它是 "ab" 的异位词。起始索引等于 0 的子串是 "cba", 它是 "abc" 的异位词。起始索引等于 6 的子串是 "bac", 它是 "abc" 的异位词。滑动窗口每次移动都需要比较两个频率表,这一步是 O(1) 的操作,因此整个算法的时间复杂度为 O(n)。,但它们的大小是固定的(26个字母),所以空间复杂度为 O(1)。

2024-10-02 14:03:26 321

原创 美团高频编程考题:和为 K 的子数组 (中等)

具体可参考:https://zyfcodes.blog.csdn.net/article/details/141401712。我们只遍历一次数组,每次操作的时间复杂度是 O(1),因此总的时间复杂度是 O(n)。前缀和的基本思想是通过累积数组元素的和,可以快速计算出任意子数组的和。要解决这个问题,我们可以使用前缀和(Prefix Sum)以及哈希表来优化查找和为。个不同的前缀和,因此空间复杂度是 O(n)。在最坏的情况下,哈希表。子数组是数组中元素的连续非空序列。

2024-10-02 14:02:39 346

原创 美团高频编程考题:滑动窗口最大值 (困难)

要解决这个问题,我们可以使用**双端队列(Deque)**来高效地找到滑动窗口内的最大值。双端队列允许我们在 O(1) 的时间复杂度下在队列的两端进行插入和删除操作。具体可参考:https://zyfcodes.blog.csdn.net/article/details/141401712。的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的。每个元素最多被插入和删除一次,因此总的时间复杂度是 O(n)。个元素的索引,因此空间复杂度是 O(k)。滑动窗口每次只向右移动一位。

2024-10-02 13:58:09 411

原创 美团高频编程考题:最小覆盖子串 (困难)

中每个字符的计数,并且滑动窗口可能需要 O(∣S∣) 的空间来存储窗口中的字符计数。指针以缩小窗口,尽量找到最小的符合条件的子串;在缩小窗口的过程中,不断更新最小子串的长度和起始位置。t 中两个字符 'a' 均应包含在 s 的子串中, 因此没有符合条件的子字符串,返回空字符串。问题的核心是要用滑动窗口的技巧来找到最小的满足条件的子串。:当遍历完成后,返回找到的最小子串,如果没有符合条件的子串,则返回空字符串。中的增减操作是 O(1) 的,因此总时间复杂度为 O(m + n)。

2024-10-02 13:57:29 380

原创 美团高频编程考题:最大子数组和 (中等)

每次分割数组都需要 O(n) 时间来计算跨越中间的子数组和,并且总共有 O(log n) 层递归。,请你找出一个具有最大和的连续子数组(子数组最少包含一个元素),返回其最大和。这种方法的时间复杂度为 O(n log n),空间复杂度为 O(log n)。这种方法的时间复杂度为 O(n),空间复杂度为 O(1)。:O(log n)。递归调用栈的深度为 O(log n)。连续子数组 [4,-1,2,1] 的和最大,为 6。来记录当前子数组的最大和,然后更新全局最大和。

2024-10-02 13:56:58 337

原创 美团高频编程考题:合并区间 (中等)

首先,我们需要按区间的起始位置对区间进行排序。这样可以确保我们处理区间时,所有重叠区间都在一起,便于合并。:O(n),因为我们仅遍历一遍区间列表。要解决这个问题,我们需要合并所有重叠的区间。区间 [1,3] 和 [2,6] 重叠, 将它们合并为 [1,6].一个不重叠的区间数组,该数组需恰好覆盖输入中的所有区间。区间 [1,4] 和 [4,5] 可被视为重叠区间。:O(n log n),其中 n 是区间的数量;表示若干个区间的集合,其中单个区间为。中的区间即为合并后的不重叠区间。,用于存储合并后的区间。

2024-10-02 13:56:20 374

原创 美团高频编程考题:轮转数组 (中等)

使用环状替换算法,通过逐个移动元素到其最终位置来实现轮转。这种方法也是 O(n) 时间复杂度,并且 O(1) 空间复杂度。向右轮转 1 步: [99,-1,-100,3] 向右轮转 2 步: [3,99,-1,-100]这种方法不使用额外的空间(O(1) 空间复杂度),且时间复杂度为 O(n)。:通过创建新数组并将元素放置到新位置,然后将结果复制回原数组。这种方法简单但需要额外的空间。:通过反转整个数组,然后分别反转前。,将数组中的元素向右轮转。要将数组中的元素向右轮转。

2024-10-02 13:55:49 317

空空如也

空空如也

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

TA关注的人

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