2021-04-01:给定一个正方形矩阵matrix,原地调整成顺时针90度转动的样子。[[a,b,c],[d,e,f],[g,h,i]]变成[[g,d,a],[h,e,b],[i,f,c]]。

福大大 答案2021-04-01:

四数交换。先外圈交换,再内圈交换。

代码用golang编写。代码如下:

package mainimport "fmt"func main() {    matrix := [][]int{{1, 2, 3, 4}, {5, 6, 7, 8}, {9, 10, 11, 12}, {13, 14, 15, 16}}    printMatrix(matrix)    rotate(matrix)    printMatrix(matrix)}func rotate(matrix [][]int) {    matrixLen := len(matrix)    if matrixLen <= 1 {        return    }    a := 0             //左上行    b := 0             //左上列    c := matrixLen - 1 //右下行    d := c             //右下列    //左上 右上 右下 左下    //a,b  a,d  c,d  c,b    for a < c {        for j := a; j < c; j++ {            //四数交换            matrix[a][b+j], matrix[a+j][d], matrix[c][d-j], matrix[c-j][b] = matrix[a+j][d], matrix[c][d-j], matrix[c-j][b], matrix[a][b+j]        }        a++        b++        c--        d--    }}func printMatrix(matrix [][]int) {    for i := 0; i < len(matrix); i++ {        for j := 0; j < len(matrix[0]); j++ {            fmt.Print(matrix[i][j], "\t")        }        fmt.Println("")    }    fmt.Println("-----------")}

执行结果如下:


左神java代码
评论

©著作权归作者所有:来自51CTO博客作者福大大的原创作品,如需转载,请注明出处,否则将追究法律责任

每一份赞赏源于懂得

赞赏

0人进行了赞赏支持

更多相关文章

  1. Prometheus 之 所有业务容器指标的监控(即cadvisor数据)
  2. mongodb大数据分页
  3. SHELL监控网站SSL证书有效期
  4. MongoDB模糊查询时带有括号的情况
  5. 基础命令10
  6. 华为核心交换机配置mac地址白名单接入
  7. RabbitMQ Linux一键安装脚本定制
  8. 禁止网页 切屏 切换标签
  9. k8s亲和性应用示例

随机推荐

  1. 为什么C和C++牛人多?
  2. 一个Java Application运行后,在系统中是作
  3. Java借助Runtime调用外部程序阻塞的代码
  4. 为泛型类的泛型方法的属性赋值 - Java
  5. Bootstrap3.0学习第二十二轮(JavaScript
  6. 堆排序(最大堆)
  7. 二维数组空指针异常
  8. java基础IO删除文件夹文件
  9. 泛型的通配符扩展
  10. 使用Java发出DNS请求并对响应进行计时