
寻找one piece的算法之路
文章平均质量分 96
初晴~
悟已往之不谏,知来者之可追
展开
-
【动态规划】买卖股票相关问题
其实一共就只有两种状态,不是处于 持有 状态,就是处于 未持有 状态。2、状态转移方程f[i - 1]在i - 1天的时候「未持有」股票,在第i天买⼊股票。此时最⼤收益为可知 f[i] 就为以上两种情况下的最大值,即对于g[i],也有两种情况能够到达这种状态:在i - 1天「持有」股票,但是在第i天将股票卖出。此时最⼤收益为:f[i - 1],记得⼿续费在i - 1天「未持有」股票,然后第i天啥也不⼲。原创 2024-11-17 15:22:18 · 2322 阅读 · 43 评论 -
【动态规划】打家劫舍类问题
主要介绍了动态规划中“打家劫舍”相关问题的解决方法原创 2024-11-13 21:58:52 · 3713 阅读 · 56 评论 -
【动态规划】斐波那契数列模型总结
主要介绍了动态规划中有关斐波那契数列的一类问题的解决方案原创 2024-11-11 12:32:30 · 2012 阅读 · 42 评论 -
【寻找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 · 1161 阅读 · 20 评论 -
【寻找one piece的算法之路】滑动窗口
滑动窗口算法是一种常用的算法模式,通常用于字符串匹配、数组操作等问题中,特别是需要在一段连续的数据中寻找满足特定条件的子序列问题。它通过维护一个窗口(一段连续的子数组或子串),并在数据结构上滑动(移动)这个窗口,来寻找最优解或者满足特定条件的子序列。原创 2024-10-08 21:13:36 · 1638 阅读 · 31 评论 -
【寻找one piece的算法之路】——双指针算法!他与她是否会相遇呢?
双指针算法是一种常用的编程技巧,尤其在处理数组和字符串问题时非常有效。这种方法的核心思想是使用两个指针来遍历数据结构,这两个指针通常分别位于数据结构的起始位置或某些特定位置,通过移动这两个指针来达到解决问题的目的。双指针算法可以显著减少时间复杂度,使其从O(n2)O(n2)降低到O(n)O(n),甚至在某些情况下可以达到O(logn)O(logn)。常⻅的双指针有两种形式,⼀种是对撞指针,⼀种是左右指针。对撞指针:⼀般⽤于顺序结构中,也称左右指针。对撞指针从两端。原创 2024-10-03 16:56:00 · 1412 阅读 · 44 评论 -
【算法刷题】链表笔试题解析(1)
我们可以用快慢指针的方法,定义一个快指针fast每次走两步,再定义一个慢指针每次走一步,这样在快指针遍历完链表时,慢指针就正好位于中间位置了原创 2024-03-28 13:05:51 · 1086 阅读 · 46 评论