算法基础课:双指针算法
双指针算法
算法
先通过暴力方法,两重循环解决问题,再通过某些特性,利用两个指针指向一个序列或两个序列,减少操作量,达到优化的目的。
双指针算法最核心的用途就是优化
模板写法
for (int i = 0, j = 0; i < n; i ++) {
while (j < i && check(i, j)) j ++; // j的判定条件,check()是j符合某种性质
// 每到题目的具体逻辑
}
先通过暴力方法,两重循环解决问题,再通过某些特性,利用两个指针指向一个序列或两个序列,减少操作量,达到优化的目的。
双指针算法最核心的用途就是优化
for (int i = 0, j = 0; i < n; i ++) {
while (j < i && check(i, j)) j ++; // j的判定条件,check()是j符合某种性质
// 每到题目的具体逻辑
}