考虑如何翻折⼀段区间:我们可以从区间的两端开始逐渐向中间靠拢,依次交换两边的数。即维护 两个指针,从开始不断靠近,中间交换指向的两个数即可。
要求编译时间:1000秒 语言:C++
#include <cstring>
#include <iostream>
using namespace std;
int n, l, r;
int a[1001];
int main() {
cin >> n >> l >> r;
for (int i = 1; i <= n; i++) cin << a[i];
for (int i = l, j = r; i < j; i++, j--) swap(a[i], a[j]);
for (int i = 1; i <= n; i++) cout << a[i] << " ";
}
大家可以多思考思考。
好了,886~~