寻找one piece的算法之路
文章平均质量分 96
初晴~
悟已往之不谏,知来者之可追
展开
-
【寻找one piece的算法之路】前缀和(一)
通过预先计算数组或矩阵的前缀和,来快速查询子数组或子矩阵的和。这种算法可以用空间换时间,提高查询效率。概念给定一个数组 A,前缀和数组 PP 定义为:P[i]=A[0]+A[1]+⋯+A[i]P[i]=A[0]+A[1]+⋯+A[i]即 P[i]P[i] 是从数组开头到位置 ii 所有元素的和计算前缀和初始化:前缀和数组的第一个元素等于原数组的第一个元素,即P[0]=A[0]。迭代计算:对于每一个i>0,计算P[i]=P[i−1]+A[i]P[i]=P[i−1]+A[i]。原创 2024-10-12 18:35:30 · 1047 阅读 · 18 评论 -
【寻找one piece的算法之路】滑动窗口
滑动窗口算法是一种常用的算法模式,通常用于字符串匹配、数组操作等问题中,特别是需要在一段连续的数据中寻找满足特定条件的子序列问题。它通过维护一个窗口(一段连续的子数组或子串),并在数据结构上滑动(移动)这个窗口,来寻找最优解或者满足特定条件的子序列。原创 2024-10-08 21:13:36 · 1572 阅读 · 30 评论 -
【寻找one piece的算法之路】——双指针算法!他与她是否会相遇呢?
双指针算法是一种常用的编程技巧,尤其在处理数组和字符串问题时非常有效。这种方法的核心思想是使用两个指针来遍历数据结构,这两个指针通常分别位于数据结构的起始位置或某些特定位置,通过移动这两个指针来达到解决问题的目的。双指针算法可以显著减少时间复杂度,使其从O(n2)O(n2)降低到O(n)O(n),甚至在某些情况下可以达到O(logn)O(logn)。常⻅的双指针有两种形式,⼀种是对撞指针,⼀种是左右指针。对撞指针:⼀般⽤于顺序结构中,也称左右指针。对撞指针从两端。原创 2024-10-03 16:56:00 · 1141 阅读 · 43 评论 -
【算法刷题】链表笔试题解析(1)
我们可以用快慢指针的方法,定义一个快指针fast每次走两步,再定义一个慢指针每次走一步,这样在快指针遍历完链表时,慢指针就正好位于中间位置了原创 2024-03-28 13:05:51 · 1051 阅读 · 46 评论