题解 | #蛇形矩阵#
蛇形矩阵
https://www.nowcoder.com/practice/649b210ef44446e3b1cd1be6fa4cab5e
package main
import (
"fmt"
)
// 1 3 6 10
// 2 5 9
// 4 8
// 7
func main() {
var n int
fmt.Scan(&n)
row := make([]int, 0)
row = append(row, 1)
//生成第一行
for i:= 1;i<n;i++{
row = append(row, row[i-1]+1+i)
}
//每一行是上一行(对角)的数减1
for i:=0;i<n;i++{
for j:=i;j<n;j++{
//第一行直接打印,第二行是第一行(对角)减1,第三行是第一行减2,以此类推
fmt.Printf("%d ", row[j]-i)
}
fmt.Println()
}
}

查看9道真题和解析