原地反转要几个指针

第 1 步:i 在头,j 在尾 第 2 步:交换这一对 第 3 步:i、j 往中间走一步 第 4 步:交换这一对 第 5 步:i、j 往中间走一步 第 6 步:碰面了:原地反转完成 3 7 5 9 4 i j 把一排人原地前后调个个儿,最省

开始练习 →

原地去重的前提

用双指针在数组上原地去重,前提是这排数据【0】。

开始练习 →

反转之后第一个是谁

运行下面这段程序: #include <iostream> #include <string> #include <vector> using namespace std; #include <u

开始练习 →

去重之后还剩几个

运行下面这段程序: #include <iostream> #include <string> #include <vector> using namespace std; int main() {

开始练习 →

原地反转这排人

补全代码:用两个指针把这排人原地前后调个个儿。做完之后只输出第一个人。 (本题用 g++ -std=c++17 -O0 编译。)

开始练习 →

原地去掉重复的

下面这排数已经排好序了。补全代码,原地把重复的挤掉。做完之后只输出还剩几个不重复的。 (本题用 g++ -std=c++17 -O0 编译。)

开始练习 →

原地移走某个值

补全代码:原地把所有等于 2 的值移走。做完之后只输出剩下几个。 (本题用 g++ -std=c++17 -O0 编译。)

开始练习 →

按下标访问的复杂度

按下标取出一个元素,时间复杂度是【0】。

开始练习 →

在开头插入的复杂度

第 1 步:已经放了 4 个 第 2 步:开头插:4 个都要往后挪 第 3 步:末尾追加:直接放,不用挪 3 7 5 9 在最前面插入一个元素,时间复杂度是【0】。

开始练习 →

没满时末尾追加的复杂度

座位还没坐满,在末尾追加一个,复杂度是【0】。

开始练习 →