题解
【入门】拐角I
1 条题解
-
0
解题思路
这道题要求输出一个 N 行 N 列的方阵,数字呈拐角形状分布。
观察 N=5 的输出:
1 1 1 1 1 1 2 2 2 2 1 2 3 3 3 1 2 3 4 4 1 2 3 4 5规律:每个位置的值 = min(行号, 列号) + 1。也就是说沿着行和列,遇到更小的数就跟着变小。
参考代码
#include <iostream> #include <iomanip> using namespace std; int main() { int n; cin >> n; for (int i = 0; i < n; i++) { for (int j = 0; j < n; j++) { // 取行号和列号中较小的那个 + 1 int val = (i < j ? i : j) + 1; cout << setw(3) << val; } cout << endl; } return 0; }复杂度分析
- 时间复杂度:O(N²)
- 空间复杂度:O(1)
- 1