题目描述:
小U得到了一个数字n,他的任务是构造一个特定数组。这个数组的构造规则是:对于每个i从1到n,将数字n到i逆序拼接,直到i等于n为止。最终,输出这个拼接后的数组。
案例:
样例1:
输入:
n = 3
输出:[3, 2, 1, 3, 2, 3]
样例2:
输入:
n = 4
输出:[4, 3, 2, 1, 4, 3, 2, 4, 3, 4]
样例3:
输入:
n = 5
输出:[5, 4, 3, 2, 1, 5, 4, 3, 2, 5, 4, 3, 5, 4, 5]
思路:结合案例理解题目意思即可
代码如下
#include <vector>
#include <iostream>
using namespace std;
vector<int> solution(int n) {
// write code here
vector<int> a;
for(int i=0;i<n;i++){
for(int j=n;j>=i+1;j--){
a.push_back(j);
}
}
return a;
}
int main() {
vector<int> result1 = solution(3);
cout << (result1 == vector<int>{3, 2, 1, 3, 2, 3}) << endl;
vector<int> result2 = solution(4);
cout << (result2 == vector<int>{4, 3, 2, 1, 4, 3, 2, 4, 3, 4}) << endl;
vector<int> result3 = solution(5);
cout << (result3 == vector<int>{5, 4, 3, 2, 1, 5, 4, 3, 2, 5, 4, 3, 5, 4, 5}) << endl;
return 0;
}