
算法题
文章平均质量分 97
刷题分析
小陈️️
知不足而奋进 望远山而前行
展开
-
【优先算法】专题——模拟(详细讲解)
模拟算法其实就是比葫芦画瓢。特点:思考比较简明,考察的就是我们的代码能力模拟算法流程(一定要在演草纸上过一遍流程,不要凭空想象),然后把流程转化成代码。原创 2025-02-20 00:11:42 · 916 阅读 · 9 评论 -
【优先算法】专题——位运算
位一个的个数。原创 2025-02-03 19:56:10 · 879 阅读 · 9 评论 -
【优先算法】专题——前缀和
前缀和这个算法,重要思想就是预处理,当我们在解决一个问题的时候不太好解决的时候我们可以先预处理一下,预处理之后在解决效率是非常高的,直接解决时间复杂度是N^2级别,预处理一下直接变O(N),这种就是典型的用空间换时间,因为我们多创建了一个数组,但是时间复杂度提高了一个级别。原创 2025-02-03 16:12:04 · 1369 阅读 · 8 评论 -
【优先算法】专题——二分查找算法
我们本题使用二分查找算法,只要发现我们的数组有二段性都可以用我们的二分查找算法,什么是二段性呢就是当我们发现一个规律的时候根据这个规律选取某一个点并能把这个数组分成二部分,根据这个规律能舍去一部分,然而在另一端继续查找。原创 2024-12-27 22:05:10 · 1226 阅读 · 0 评论 -
【优先算法】专题——滑动窗口
题目描述:解法⼀(暴⼒求解)(会超时):「从前往后」枚举数组中的任意⼀个元素,把它当成起始位置。然后从这个「起始位置」开始,然 后寻找⼀段最短的区间,使得这段区间的和「⼤于等于」⽬标值。将所有元素作为起始位置所得的结果中,找到「最⼩值」即可。解法二:算法思路:由于此问题分析的对象是「⼀段连续的区间」,因此可以考虑「滑动窗⼝」的思想来解决这道题。原创 2024-12-21 19:38:34 · 1061 阅读 · 0 评论 -
【优先算法】专题——双指针
题目描述:思路:本题我们把数组分块,将非零元素移动到左边,为零元素移动右边。我们使用双指针算法(利用数组下标来充当指针)两个指针的作用:cur:从左往右扫描数组,遍历数组dest:已经处理的区间内,非零元素的最后一个位置我们将数组分为三个区间:如何做到:cur从前往后遍历的过程中:1,遇到0元素:cur++;原创 2024-11-23 22:35:54 · 1303 阅读 · 0 评论