判回文一次验两种
补全 is_pal:两头往中间比,全都对上才是回文。把 abcba 和 abcab 的结果用 / 连起来输出。 (本题用 g++ -std=c++17 -O0 编译。)
size() 返回的是什么类型
第 1 步:j 从 size()-1 往下走 第 2 步:j-- 之后 j = 2 第 3 步:j-- 之后 j = 1 第 4 步:j-- 之后 j = 0 第 5 步:0 再减 1:绕到最大的数 第 6 步:j >= 0 永远成立
空数组的 size() - 1
空 vector 的 v.size() - 1 等于【0】。
右指针更稳妥的写法
对撞双指针里的右指针,C++ 里更稳妥的写法是【0】。
空数组减一有多大
运行下面这段程序: #include <algorithm> #include <iostream> #include <map> #include <string> #include <
换成 int 再减一
运行下面这段程序: #include <algorithm> #include <iostream> #include <map> #include <string> #include <
从右往左找最后一次出现
补全 last_index_of:用 int 下标从右往左找 x 最后一次出现的位置,找不到返回 -1。输出找 17 和找 99 的结果,用 / 连起来。 (本题用 g++ -std=c++17 -O0 编译。)
空数组也不能出事
补全 has_pair:对撞双指针判断有序数组里有没有两个数加起来等于 target。空数组和 13 15 17 23 24(目标 40)各判一次,用 / 连起来输出。 (本题用 g++ -std=c++17 -O0 编译。)
数一数上升的相邻对
补全 count_up:数有多少个 i 满足 a[i+1] > a[i]。循环条件写成 i + 1 < a.size(),别写 i < a.size() - 1。输出 13 15 17 23 24 和空数组的结果,用 /
空数组也能反转
补全 rev_safe:用 int 下标对撞反转。输出 13 15 17 23 24 反转后的结果,再用 | 接上空数组反转后的长度。 (本题用 g++ -std=c++17 -O0 编译。)