双指针法:通过题目其他隐含条件,通过左右指针向中间靠拢,达到题目遍历要求,将 双指针法 - 图1 优化 为 双指针法 - 图2,一般为将两重循环优化为一重循环。

  1. for L in range(k, n):
  2. for R in range(L + 1, n):
  3. pass
  4. # ======= 优化为 ======= #
  5. L, R = k, n - 1
  6. while L < R:
  7. if cond1:
  8. L += 1
  9. if cond2:
  10. R -= 1

题目