- 博客(11)
- 收藏
- 关注
原创 双指针 | 滑动窗口法
左、右指针分别指向数组/子串的开始位置和终止位置,最初都为0。以左指针为基准,当右指针满足条件时,右移右指针,当右指针不满足条件时,右移左指针。大多数数组、子串问题。
2025-04-05 20:41:28
130
原创 数学相关:最大公约数、最小公倍数、判定素数、分解质因数等
定义一个int型的is_prim数组,用来表示是否为素数,首先初始化is_prim数组全为1。从2开始,如果is_prim[i]=1,则将i的倍数全部标记为非素数。通过检查p的二进制表示中的每一位,决定是否将当前的底数b乘到结果中。如果某一位是 0,则该位对应的幂次不需要乘到结果中。当p不是质数时,找到整数x和y,使得a·x+b·y=gcd(a,p),如果gcd(a,p)=1,则x是a在模p下的逆元。唯一分解定理:每个大于1的正整数都能够唯一的表示成它的质因数的乘积。是a在模p下的乘法逆元。
2025-04-05 17:19:36
480
原创 广度优先搜索BFS
②每走一格,就将该层所有能走的格子标记起来(第n层距离起点的边数为n),可以看作BFS树在向四面八方扩张。①是否存在从A到B的路径。②是否存在或者找出从A到B的。①0可以走,1不能走。
2025-03-28 20:39:15
277
原创 递推/递归 + 深度优先搜索DFS
按字典序输出n的全排列的所有可能方案。(例如132>123,则先输出123,再输出132),先枚举第一个位置,再第二个,最后第三个。在递归函数dfs()里,先写边界条件。
2025-03-20 21:02:26
287
原创 二分查找/搜索
1. 左闭右闭 [left , right]2. 左闭右开 [left , right):O(logn),其中 n 是数组的长度。:在有序数组中查找特定元素。:不断地把数组分成两半。
2025-03-19 21:24:42
200
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人