小红花·文摘
  • 首页
  • 广场
  • 排行榜🏆
  • 直播
  • FAQ
Dify.AI

本文介绍了一种反转链表的算法,通过循环处理节点,保存下一个节点并反向指针,最终返回反转后的链表头。该算法的时间复杂度为O(n),空间复杂度为O(1),是反转链表的优选方案之一。

数据结构与算法 --- 链表反转

dotNET跨平台
dotNET跨平台 · 2025-07-22T23:51:11Z
73. 设置矩阵零

给定一个 m x n 的整数矩阵,如果某个元素为 0,则将其所在行和列全部置为 0。可以利用矩阵的第一行和第一列标记需要置零的行和列,从而实现 O(1) 的空间复杂度。最后根据标记将相应的行和列置零。

73. 设置矩阵零

DEV Community
DEV Community · 2025-05-21T07:05:21Z
第5天/90天:像影子君主一样清除元素 — 征服LeetCode的移除元素问题 🗡️

本任务旨在原地移除数组中所有等于val的元素,使用双指针技术遍历数组,保留非val元素,最终返回剩余元素的数量。时间复杂度为O(n),空间复杂度为O(1)。

第5天/90天:像影子君主一样清除元素 — 征服LeetCode的移除元素问题 🗡️

DEV Community
DEV Community · 2025-04-26T17:39:36Z
🏋️ 第4天/100: 征服LeetCode - 从已排序数组中移除重复元素

在第4天的挑战中,我使用双指针技术从已排序数组中移除重复元素,时间复杂度为O(n),空间复杂度为O(1)。通过移动指针,将唯一元素压缩到前面,最终得到3个唯一元素,展示了高效数组操作的重要性。

🏋️ 第4天/100: 征服LeetCode - 从已排序数组中移除重复元素

DEV Community
DEV Community · 2025-04-26T17:35:51Z
Leetcode - 61. 旋转链表

该算法处理旋转链表,首先计算链表长度,然后将尾部连接到头部形成循环,接着找到新尾部位置,断开循环并返回新头部。时间复杂度为O(n),空间复杂度为O(1)。

Leetcode - 61. 旋转链表

DEV Community
DEV Community · 2025-04-13T06:37:01Z

文章讨论了“多数元素”问题,即在数组中出现次数超过n/2的元素。介绍了两种解决方案:分治法和摩尔投票算法。分治法的时间复杂度为O(nlogn),空间复杂度为O(logn);摩尔投票算法的时间复杂度为O(n),空间复杂度为O(1)。

多数元素问题&分治法--算法学习#1

TAOG
TAOG · 2025-04-10T14:37:00Z
Leetcode - 25. 每k个节点反转链表

本文介绍了如何每k个节点反转链表。通过创建虚拟节点简化边界情况,使用辅助函数找到第k个节点,反转节点并重新连接。时间复杂度为O(N),空间复杂度为O(1)。

Leetcode - 25. 每k个节点反转链表

DEV Community
DEV Community · 2025-04-08T19:57:56Z
🚀 排序算法揭秘:初学者的Python示例指南

排序是计算机科学的基本概念,常见的排序算法包括冒泡排序、归并排序、快速排序、插入排序、选择排序和堆排序。每种算法的时间和空间复杂度不同,适用于不同的数据集,理解这些算法有助于解决实际问题和编程面试。

🚀 排序算法揭秘:初学者的Python示例指南

DEV Community
DEV Community · 2025-04-08T19:22:28Z
第六部分:Python中的排序算法 - 概念、代码与复杂度

排序是编程中的基本操作,掌握排序算法有助于理解时间复杂度和算法设计。文章介绍了多种排序算法及其Python实现,包括内置排序(sorted()和list.sort()),并比较了它们的时间和空间复杂度。选择合适的排序方法对不同数据集至关重要。

第六部分:Python中的排序算法 - 概念、代码与复杂度

DEV Community
DEV Community · 2025-04-04T11:19:58Z
LeetCode 挑战:49. 分组异位词 - JavaScript 解决方案 🚀

分组异位词问题要求将字符串数组中的异位词归为一组。异位词是通过重新排列字母形成的单词。可以使用哈希表,按排序后的字符序列作为键,将相同的异位词分组。时间复杂度为O(m⋅nlogn),空间复杂度为O(m)。

LeetCode 挑战:49. 分组异位词 - JavaScript 解决方案 🚀

DEV Community
DEV Community · 2025-04-01T07:21:53Z
在一维数组中寻找和最大的连续子数组

该文章介绍了Kadane算法,用于在一维数组中寻找和最大的连续子数组。该算法的时间复杂度为O(n),空间复杂度为O(1)。提供了两个函数:`max_subarray`返回最大和,`max_subarray_with_indices`返回最大和及其索引。

在一维数组中寻找和最大的连续子数组

DEV Community
DEV Community · 2025-03-28T03:37:29Z
通过贪心算法连接终端节点的最短边,近似求解最小Steiner树。

本文介绍了一种贪心算法用于近似求解Steiner树,该算法通过不断添加连接现有树节点与新节点的最短边来连接终端节点。其时间复杂度为O(V^2),空间复杂度为O(V),但可能无法得到最优解。

通过贪心算法连接终端节点的最短边,近似求解最小Steiner树。

DEV Community
DEV Community · 2025-03-28T03:37:09Z
Leetcode - 138. 带随机指针的链表复制

给定一个带随机指针的链表,深拷贝的任务可以通过两种方法实现。第一种方法使用哈希表映射原节点与克隆节点,遍历原链表以正确分配指针,时间复杂度为O(N),空间复杂度为O(N)。第二种方法通过临时修改链表结构,实现O(1)空间复杂度。

Leetcode - 138. 带随机指针的链表复制

DEV Community
DEV Community · 2025-03-24T07:12:39Z
理解数据结构中的复杂度

理解数据结构的时间和空间复杂度对算法性能至关重要。时间复杂度包括O(1)、O(log n)、O(n)和O(n²)。常见操作如线性搜索(O(n))和二分搜索(O(log n))用于高效查找。选择合适的数据结构可确保应用程序高效运行和扩展。

理解数据结构中的复杂度

DEV Community
DEV Community · 2025-03-21T13:56:18Z
算法:排序算法简介 4 { 堆排序 }

堆排序是一种基于最大堆的数据结构的排序算法,通过构建最大堆并将最大元素逐步移至数组末尾来实现排序。其时间复杂度为O(n log n),空间复杂度为O(1),且不依赖递归,广泛应用于优先级调度等场景。

算法:排序算法简介 4 { 堆排序 }

DEV Community
DEV Community · 2025-03-20T23:35:07Z

本文介绍了BigO(Bench),一种新型编码基准,用于评估生成语言模型在理解和生成具有特定时间和空间复杂度的代码能力。研究发现,尽管模型在代码生成方面表现良好,但在理解复杂度方面存在不足,可能无法泛化到未奖励的任务。

BigO(Bench) — Can Large Language Models Generate Code with Controlled Time and Space Complexity?

BriefGPT - AI 论文速递
BriefGPT - AI 论文速递 · 2025-03-19T00:00:00Z
大O速查表

文章讨论了编程中的大O符号,介绍了其在描述算法时间和空间复杂度中的应用,帮助程序员评估算法效率,并提供了相关的速查表。

大O速查表

DEV Community
DEV Community · 2025-03-16T15:13:36Z
使用Kahn算法驯服循环依赖

Kahn算法解决了任务间的循环依赖问题,通过识别无前置任务的项并依次处理,形成有效的任务顺序。如果存在循环,则无法完成所有任务。该算法在调度、构建管道和安装依赖时非常实用,时间复杂度和空间复杂度均为O(n + e)。

使用Kahn算法驯服循环依赖

DEV Community
DEV Community · 2025-03-16T06:13:00Z
排序算法:选择排序

选择排序通过从未排序部分选择最小元素并放置到正确位置,时间复杂度为O(n^2),空间复杂度为O(1),不需要额外空间。

排序算法:选择排序

DEV Community
DEV Community · 2025-03-13T17:35:53Z
在Java中解决有效回文问题

本文介绍了如何使用双指针法解决LeetCode的“125.有效回文”问题。该问题要求忽略空格、标点和大小写,判断字符串是否为回文。通过从字符串两端向中间移动指针,跳过非字母数字字符并比较有效字符,最终得出结果。时间复杂度为O(n),空间复杂度为O(1)。

在Java中解决有效回文问题

DEV Community
DEV Community · 2025-03-13T09:19:52Z
  • <<
  • <
  • 1 (current)
  • 2
  • 3
  • >
  • >>
👤 个人中心
在公众号发送验证码完成验证
登录验证
在本设备完成一次验证即可继续使用

完成下面两步后,将自动完成登录并继续当前操作。

1 关注公众号
小红花技术领袖公众号二维码
小红花技术领袖
如果当前 App 无法识别二维码,请在微信搜索并关注该公众号
2 发送验证码
在公众号对话中发送下面 4 位验证码
小红花技术领袖俱乐部
小红花·文摘:汇聚分发优质内容
小红花技术领袖俱乐部
Copyright © 2021-
粤ICP备2022094092号-1
公众号 小红花技术领袖俱乐部公众号二维码
视频号 小红花技术领袖俱乐部视频号二维码