朴素的双指针算法:
O(n^2),两层遍历循环。
for (int i = 0;io < n;i++) {
for (int j = 0;j < n;j++) {
if (check(j, i)) {
//具体题目逻辑
}
}
}
优化的双指针算法:
O(n)、
for (int i = 0, j = 0;i < n;i++) {
while (j <= i && check(j, i)) j++;
//具体题目逻辑
}
question:
不理解为什么是O(n)复杂度。while不也循环了嘛