双指针为什么能到 O(n)

双指针的复杂度是 O(n),因为【0】。

开始练习 →

用双指针通常要什么前提

能用双指针,通常要求数据【0】。

开始练习 →

两两配对要试几次

运行下面这段程序: #include <algorithm> #include <iostream> #include <map> #include <string> #include <

开始练习 →

对撞双指针怎么走

第 1 步:找两个数加起来是 40 第 2 步:13+24=37 小了:lo 右移 第 3 步:15+24=39 小了:lo 右移 第 4 步:17+24=41 大了:hi 左移 第 5 步:17+23=40:找到了 13 15 17 23

开始练习 →

两数之和用对撞的前提

用对撞双指针求「两数之和等于目标」,前提是【0】。

开始练习 →

和太小时该动哪个指针(C++)

两个指针指的数加起来比目标小,应该【0】。

开始练习 →

对撞的循环什么时候停

对撞双指针的循环,停下来的条件是【0】。

开始练习 →

和为 40 的两个下标

在 13 15 17 23 24 里找和为 40 的两个数。运行下面这段程序: #include <algorithm> #include <iostream> #include <map> #inclu

开始练习 →

写一个两数之和

补全 two_sum:在有序数组里找和为 target 的两个下标,找不到返回 {-1, -1}。找和为 40 的,把两个下标用 / 连起来输出。 (本题用 g++ -std=c++17 -O0 编译。)

开始练习 →

用对撞双指针原地反转

补全 rev_two:两个指针一头一尾,边交换边往中间走。反转之后用 / 连起来输出。 (本题用 g++ -std=c++17 -O0 编译。)

开始练习 →