摘要: 双指针算法:将时间复杂度从n^2降为n。 双指针算法的模板: for (int i = 0, j = 0; i < n; i ++ ) { while (j < i && check(i, j)) j ++ ; // 具体问题的逻辑 } 常见问题分类: (1) 对于一个序列,用两个指针维护一段区间 阅读全文
posted @ 2021-11-03 23:40 天勤也 阅读(30) 评论(0) 推荐(0)
摘要: 前缀算法其实算的上是公式,前缀只是为了降低时间复杂度,从n^2降为1. 前缀公式: // 一维前缀和 // S[i] = a[1] + a[2] + ... a[i] // a[l] + ... + a[r] = S[r] - S[l - 1] // 二维前缀和 // S[i, j] = 第i行j列 阅读全文
posted @ 2021-11-03 00:02 天勤也 阅读(275) 评论(0) 推荐(2)