go面试算法系列记录
面试 最近从阿里离职,开始准备面试,刷了一个月左右的leetcode,然后实践出真知,去面试了几家公司。
shopee 算法一面 螺旋矩阵,反向螺旋矩阵 描述要求 给定一个n x n的,打印出一个螺旋矩阵,比如:
输入n= 3,
输出,则打印
9 8 7 2 1 6 3 4 5
思路和解决 其实考察的是对数组的理解,还有矩阵的理解,就是找到矩阵的上下左右边界,遍历即可。反向的话,无非是从高到低遍历,正向的话,是从低到高遍历。
代码 func main() { matrix := generateMatrix(3) printMatrix(matrix) } func printMatrix(matrix [][]int) { if matrix == nil || len(matrix) == 0 { return } n := len(matrix) for i := 0; i < n; i++ { for j := 0; j < n; j++ { fmt.Printf("%d ", matrix[i][j]) } fmt.