题解 | #顺时针打印矩阵#

顺时针打印矩阵

https://www.nowcoder.com/practice/9b4c81a02cd34f76be2659fa0d54342a

package main

/**
 * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
 *
 * @param matrix int整型二维数组
 * @return int整型一维数组
 */
func printMatrix(matrix [][]int) []int {
	// write code here
	// 每次把矩阵的第一行加入,
  	// 然后删除第一行,逆时针旋转90度
	var res = make([]int, 0)
	for len(matrix) > 0 {
		for i := 0; i < len(matrix[0]); i++ {
			res = append(res, matrix[0][i])
		}
		matrix = matrix[1:]
		matrix = rotate(matrix)
	}

	return res
}

// 逆时针旋转90度
func rotate(matrix [][]int) [][]int {
	var res [][]int

	if len(matrix) == 0 {
		return res
	}

	for col := len(matrix[0])-1; col > -1; col-- {
		var arr []int
		for row := 0; row < len(matrix);row++ {
			arr = append(arr, matrix[row][col])
		}
		res = append(res, arr)
	}
	return res
}

全部评论

相关推荐

机械打工仔:第一位颇有孟德之志
点赞 评论 收藏
分享
真烦好烦真烦:豆包润色了自己没看看吗,再说了,都说豆包是愚蠢且勤快的大学生,ds才是聪明的研究生,怎么敢让豆包写论文的
你们的毕业论文什么进度了
点赞 评论 收藏
分享
鼠鼠第一次实习,啥也不懂一直是自己一个人吃的饭,不会做工作老是被嫌弃,大人的世界是这样的吗?
我是星星我会发亮:好的mt有两种,一种愿意教你的,一种几乎什么活都不给你派让你很闲允许你做自己事情的
实习吐槽大会
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务