题解 | #蛇形矩阵#
蛇形矩阵
http://www.nowcoder.com/practice/649b210ef44446e3b1cd1be6fa4cab5e
#include <bits/stdc++.h>
using namespace std;
void process(int N){
/*if(N == 0){
cout << "" << endl;
}*/
//第一行最后一个元素 = (N)*(N + 1) / 2;
//第一行第j列元素 = (j) * (j + 1) / 2;
//第i行第j列元素 = 第i - 1行j + 1列 - 1;
//最后一行只有一个元素 = 第一行最后一个元素 - N - 1;
int num = 1;
vector<vector<int>> matrix(N, vector<int>(N, 0));
for(int i = 0; i < N; i++){
for(int j = 0; j <= i; j++){
matrix[i - j][j] = num++; //
}
}
for(int i = 0; i < N; i++){
for(int j = 0; j < N - i; j++){ //
cout << matrix[i][j] << " ";
}
cout << endl;
}
}
int main(){
int N = 0;
cin >> N;
process(N);
return 0;
}
华为题库题解 文章被收录于专栏
牛客华为题库的题解