上一页 1 ··· 8 9 10 11 12 13 下一页
摘要: 1、先看题目要求 给一个数组 nums,找出所有不重复的三元组 [a, b, c] 满足: a + b + c = 0 三个元素下标不同 答案不能重复(比如 [-1,-1,2] 不能出现多次) 2、核心解法:排序 + 双指针(最优解) 为什么这么做? 排序:方便去重 + 方便双指针移动 固定一个数( 阅读全文
posted @ 2026-03-24 20:49 ZealousMclaren 阅读(15) 评论(0) 推荐(0)
摘要: 一、什么是暴力法? 暴力法就是把所有可能的两条线组合全部算一遍,找出最大面积。 比如数组[1,8,6,2,5,4,8,3,7](以双指针求最大水容积为例) 第 0 根 和 第 1 根 → 算面积 第 0 根 和 第 2 根 → 算面积 第 0 根 和 第 3 根 → 算面积 …… 第 1 根 和 第 阅读全文
posted @ 2026-03-24 19:19 ZealousMclaren 阅读(20) 评论(0) 推荐(0)
摘要: 要找到能容纳最多水的两条垂线,核心思路是利用双指针法(贪心策略),因为容器的盛水量由两个因素决定: 1、宽度:两条垂线的下标差(right-left); 2、高度:两条垂线中较短的那一条(min(height[left],height[right])); 3、水的体积:max(current_wat 阅读全文
posted @ 2026-03-24 10:43 ZealousMclaren 阅读(24) 评论(0) 推荐(0)
摘要: 要在原地(不复制数组)将所有0移到末尾,且保持非零元素相对顺序,核心思路是: 1、双指针法:用两个指针(慢指针slow、快指针fast)遍历数组; 2、快指针fast负责遍历数组,找到所有非零元素; 3、慢指针slow负责记录“非零元素应该放置的位置”,将快指针找到的非零元素赋值到慢指针位置; 4、 阅读全文
posted @ 2026-03-23 20:21 ZealousMclaren 阅读(29) 评论(0) 推荐(0)
摘要: 要再O(n)时间复杂度内找到最长连续数字序列,核心思路是: 1、先用哈希集合unordered_set存储数组所有元素,利用集合的O(1)查找特性;直接在原数组中查找元素的时间复杂度是 O(n),而哈希集合(unordered_set)的查找时间复杂度是 O(1)(平均情况)。这一点点差异,会让整个 阅读全文
posted @ 2026-03-23 15:33 ZealousMclaren 阅读(30) 评论(0) 推荐(0)
摘要: 完全二叉树是一种特殊的二叉树,它满足以下两个核心条件: 结构上的 “完全性” 除了最后一层外,其他每一层的结点数都达到最大值。 最后一层的结点都靠左对齐,即所有结点都集中在该层最左边的若干位置上,不会出现右侧有空缺而左侧先填满的情况。 与满二叉树的关系 满二叉树是完全二叉树的特例(所有层都填满)。 阅读全文
posted @ 2026-03-19 21:51 ZealousMclaren 阅读(36) 评论(0) 推荐(0)
摘要: Dijkstra 算法是一种经典的单源最短路径算法,用于求解从一个起点到图中所有其他顶点的最短路径,要求图中边的权重为非负数(若有负权边需用 Bellman-Ford 算法)。 算法核心思路: 以起点未中心,层层向外“扩展”,每次找到离起点最近的未确定最短路径的顶点,用该顶点更新其邻接顶点的最短路径 阅读全文
posted @ 2026-03-19 15:16 ZealousMclaren 阅读(120) 评论(0) 推荐(0)
摘要: 快速排序在数据随机分布的情况下最易发挥长处 快速排序的平均时间复杂度为 O(nlogn),效率很高;但在数据基本有序或逆序时,会退化为 O(n2)。因此它在数据随机、初始无序的场景下,分区最均衡,能充分体现 O(nlogn) 的优势。 阅读全文
posted @ 2026-03-18 14:43 ZealousMclaren 阅读(18) 评论(0) 推荐(0)
摘要: 哈夫曼树的构建步骤(合并最小权值) 1、初始叶子:G (3), A (5), C (7), D (8), H (11), E (14), F (23), B (29) 2、合并G (3)+A (5) → 节点 9 (8) 3、合并 C (7)+D (8) → 节点 10 (15) //优先用叶子的8 阅读全文
posted @ 2026-03-18 14:40 ZealousMclaren 阅读(25) 评论(0) 推荐(0)
摘要: 要求空间复杂度O(1),因此必须原地修改指针,不额外创建新节点;这句话的意思是: O (1) 空间复杂度:算法执行过程中,除了输入本身占用的空间外,额外开辟的辅助空间是常数级(不随输入数据量增大而增长),也就是只能用几个固定的指针变量,不能申请新的链表节点、数组等。 原地修改指针:不创建新的节点,只 阅读全文
posted @ 2026-03-18 11:35 ZealousMclaren 阅读(24) 评论(0) 推荐(0)
上一页 1 ··· 8 9 10 11 12 13 下一页