![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
算法
文章平均质量分 92
筱姌
不被定义,庆幸自己,我可以是任何样子。我野蛮生长,自己便是月亮。
展开
-
归并排序——逆序数对的统计
逆序对是指在一个数组中,如果对于某个下标i和j满足i < j,且a[i] > a[j],则称(a[i], a[j])为一个逆序对。原创 2024-06-09 23:59:03 · 349 阅读 · 0 评论 -
每日算法——归并排序
归并排序是一种分治算法。它将数组不断地分成两半,对每一半进行排序,然后再将排序好的两半合并起来。通过不断重复这个过程,最终得到完全排序的数组。归并排序的注意点空间复杂度:归并排序需要额外的与原始数组大小相同的临时空间来进行合并操作,这可能在一些内存受限的场景下需要特别注意。递归深度:在处理大规模数据时,可能会导致较深的递归调用,需要关注栈空间的使用情况,避免栈溢出。边界条件处理:在分割和合并过程中,要确保正确处理各种边界情况,如空数组、只有一个元素的数组等。性能优化。原创 2024-06-09 23:44:37 · 941 阅读 · 0 评论 -
双指针刷题总结
一个指针移动速度快,一个指针移动速度慢,常用于解决链表中的问题,如判断链表是否有环、寻找链表的中点、寻找链表的倒数第n个元素等。两个指针分别从数组的两端或特定位置开始,相向或同向移动,常用于解决数组中的问题,如二分查找、两数之和、最长连续子数组等。,快指针每次移动两步,慢指针每次移动一步。当快指针到达链表末尾时,慢指针正好位于中间节点。双指针问题在链表中的一个典型应用是寻找链表的中间节点。双指针是一种常见的算法技巧,用于解决与数组、链表等数据结构相关的问题。双指针问题通常可以分为两类:快慢指针和左右指针。原创 2024-05-31 08:45:00 · 827 阅读 · 0 评论 -
基本算法——位运算
位运算的一些例题与解法思路,学会快速幂的相关计算以及相关知识点等。原创 2024-06-02 15:25:29 · 821 阅读 · 0 评论 -
每日练习之广义搜索——小红的素数合并
排序是关键步骤,它使得能够方便地确定数组中的最大值、最小值以及它们的组合所能产生的最大和最小乘积。对于奇数长度的数组,直接选取中间的元素作为乘积的一部分,这是因为无论它与最小值还是最大值相乘都不会影响到最大与最小乘积之间的差距。通过两两配对的方式,确保了在偶数个元素中能探索到所有可能的最大乘积和最小乘积的组合。最后计算并输出最大乘积与最小乘积之差,即为所求。LL是之前通过定义的类型别名,代表long long类型,用于存储大整数。mx和mn是两个变量,分别用来存储当前已知的最大值 (mx。原创 2024-05-31 15:37:33 · 692 阅读 · 0 评论 -
离散化——Acwing.802区间和
离散化可以简单理解为将连续的数值或数据转换为离散的、有限个不同的值或类别。离散化就是将一个可能具有无限多个取值或在一个较大范围内连续取值的变量,通过某种规则或方法,划分成若干个离散的区间或类别,并将原始数据映射到这些离散的类别中。主要目的通常是为了简化数据处理、降低数据维度、提高计算效率或适应特定的算法和模型要求。离散化可以去除一些不太重要的细节信息,突出数据的主要特征和模式。原创 2024-06-13 22:00:55 · 789 阅读 · 0 评论 -
扩展欧几里得算法——AcWing.877扩展欧几里得算法
扩展欧几里得算法是用来在已知整数 a、b 的情况下,求解一组整数 x、y 使得 ax + by = gcd(a, b)(gcd 表示最大公约数)。原创 2024-06-15 09:45:00 · 1179 阅读 · 0 评论 -
双链表——AcWing.827双链表
双链表是链表的一种,它的每个节点有两个指针,一个指向前一个节点,一个指向后一个节点。这样使得链表可以双向遍历。原创 2024-06-16 09:00:00 · 1073 阅读 · 0 评论 -
队列——Acwing.829模拟队列
队列是一种特殊的线性表,遵循先进先出(First In First Out,FIFO)的原则。可以进行入队(在队尾添加元素)和出队(从队首移除元素)操作。原创 2024-06-14 12:00:00 · 824 阅读 · 0 评论 -
单链表——AcWing.826单链表
单链表是一种常见的数据结构,它由一系列节点组成,每个节点包含一个数据元素和一个指向下一个节点的指针。原创 2024-06-16 08:30:00 · 568 阅读 · 0 评论 -
区间DP——AcWing 282. 石子合并
区间 DP 是动态规划的一种特殊形式,主要是在一段区间上进行动态规划计算。原创 2024-06-17 15:01:54 · 1137 阅读 · 0 评论 -
中国剩余定理——AcWing 204. 表达整数的奇怪方式
中国剩余定理最早出自我国古代的《孙子算经》,是数论中的一个重要定理。它描述了这样一种情况:在模运算下,对于一组线性同余方程组,存在唯一解的条件和求解方法。原创 2024-06-18 13:56:09 · 854 阅读 · 0 评论 -
区间合并——Acwing.803区间合并
区间合并是指将一组有重叠或相邻的区间合并成一个或多个更大的区间。原创 2024-06-13 22:47:22 · 878 阅读 · 0 评论 -
计数类DP——AcWing 900. 整数划分
计数类DP主要是通过动态规划的方法来计算满足特定条件的方案数、组合数等数量相关的问题。原创 2024-06-18 14:24:23 · 775 阅读 · 0 评论 -
树与图的深度优先遍历——AcWing.846树的重心
从图的某个顶点出发,沿着一条路径尽可能深地访问图中顶点。原创 2024-06-17 11:30:00 · 895 阅读 · 0 评论 -
单调栈——AcWing.830单调栈
单调栈是一种特殊的数据结构,栈内元素保持某种单调性(通常是单调递增或单调递减)。原创 2024-06-15 10:00:00 · 1049 阅读 · 0 评论 -
bellman-ford——AcWing 853. 有边数限制的最短路99
贝尔曼-福特(Bellman-Ford)算法是一种用于在加权有向图中计算单源最短路径的算法。原创 2024-06-17 14:00:00 · 804 阅读 · 0 评论 -
单调队列——Acwing.154滑动窗口
单调队列是一个限制只能队尾插入,但是可以两端删除的双端队列。单调队列存储的元素值,是从队首到队尾单调递增或单调递减的。原创 2024-06-14 13:00:00 · 1586 阅读 · 0 评论 -
哈希表刷题总结
哈希表(Hash Table)也叫散列表,是根据关键码值(Key value)而直接进行访问的数据结构。它通过把关键码值映射到表中一个位置来访问记录,以加快查找的速度。思路和方法。原创 2024-05-31 08:30:00 · 1546 阅读 · 0 评论