美文网首页程序员
每周一道算法题(三十七)

每周一道算法题(三十七)

作者: CrazySteven | 来源:发表于2017-12-03 19:05 被阅读227次

本周题目难度级别"Medium",使用语言C,话说好久没有遇到“Easy”级别的了,最近这么忙,该做点简单级别的题目,也能练练Python。。。

题目:本周题目感觉挺有意思的,就是给你一个N阶矩阵,然后顺时针旋转90°。要求不能开辟新的内存空间(即在C语言中不能用malloc之类的函数)。例如下图所示:

思路:这个就像脑筋急转弯一样,纯数学,没啥难度,直接看代码吧。

void rotate(int** matrix, int matrixRowSize, int matrixColSize) {
    for (int row = 0; row < matrixRowSize*0.5; row++) {
        for (int col = row; col < matrixRowSize-row-1; col++) {
            int temp = matrix[row][col];
            matrix[row][col] = matrix[matrixRowSize-1-col][row];
            matrix[matrixRowSize-1-col][row] = matrix[matrixRowSize-1-row][matrixRowSize-1-col];
            matrix[matrixRowSize-1-row][matrixRowSize-1-col] = matrix[col][matrixRowSize-1-row];
            matrix[col][matrixRowSize-1-row] = temp;
        }
    }
}

代码里也依旧没写注释,就是转着圈的交换,没啥好说的,关于效率么,没发现比这个效率更高的了,有发现的小伙伴也可以分享出来,一起学习。

版权声明:本文为 Crazy Steven 原创出品,欢迎转载,转载时请注明出处!

相关文章

  • 每周一道算法题(三十七)

    本周题目难度级别"Medium",使用语言C,话说好久没有遇到“Easy”级别的了,最近这么忙,该做点简单级别的题...

  • ARTS第三周(2018-12-16)

    1.Algorithm:每周至少做一个 leetcode 的算法题 第一道算法题:https://leetcode...

  • ARTS(09)

    什么是 ARTS? 算法(Algorithm): 每周至少一道 LeetCode 算法题,加强编程训练和算法学习 ...

  • ARTS(05)

    什么是 ARTS? 算法(Algorithm): 每周至少一道 LeetCode 算法题,加强编程训练和算法学习 ...

  • ARTS(07)

    什么是 ARTS? 算法(Algorithm): 每周至少一道 LeetCode 算法题,加强编程训练和算法学习 ...

  • ARTS(10)

    什么是 ARTS? 算法(Algorithm): 每周至少一道 LeetCode 算法题,加强编程训练和算法学习 ...

  • ARTS(02)

    什么是 ARTS? 算法(Algorithm): 每周至少一道 LeetCode 算法题,加强编程训练和算法学习 ...

  • ARTS(03)

    什么是 ARTS? 算法(Algorithm): 每周至少一道 LeetCode 算法题,加强编程训练和算法学习 ...

  • ARTS(08)

    什么是 ARTS? 算法(Algorithm): 每周至少一道 LeetCode 算法题,加强编程训练和算法学习 ...

  • ARTS(06)

    什么是 ARTS? 算法(Algorithm): 每周至少一道 LeetCode 算法题,加强编程训练和算法学习 ...

网友评论

    本文标题:每周一道算法题(三十七)

    本文链接:https://www.haomeiwen.com/subject/tokzbxtx.html