美文网首页
矩阵系列算法题

矩阵系列算法题

作者: Miss_麦兜 | 来源:发表于2017-12-02 00:27 被阅读0次

    1.转圈打印矩阵

    【题目】给定一个整型矩阵matrix,请按照转圈的方式打印它。例如:
    1 2 3 4
    5 6 7 8
    9 10 11 12
    13 14 15 16
    打印结果为:1,2,3,4,8,12,16,15,14,13,9,5,6,7,11,
    10
    【要求】额外空间复杂度为O(1)。
    【思路】以圈为单位,获取左上角和右下角的点的坐标,依次打印,然后更新左上角和右下角的坐标,以此往复。

    2.将矩阵按顺时针方向旋转90°

    【要求】不要额外空间,原地旋转
    【思路】分圈旋转

    3.“之”字形打印矩阵

    【题目】给定一个矩阵matrix,按照“之”字形的方式打印这个矩阵,例如:
    1 2 3 4
    5 6 7 8
    9 10 11 12
    “之”字形打印的结果为:1,2,5,9,6,3,4,7,10,11,8,12
    【要求】额外空间复杂度为O(1)。
    【思路】两个指针a和b,a和b每次走一步,a向右走,到达边界后往下走,b向下走,到达边界后往右走。用一个bool值标记打印方向。

    4.在行列都排好序的矩阵中找数

    【题目】给定一个有N*M的整型矩阵matrix和一个整数K,matrix的每一行和每一列都是排好序的。实现一个函数,判断K是否在matrix中。
    例如:
    0 1 2 5
    2 3 4 7
    4 4 4 8
    5 7 7 9
    如果K为7,返回true;如果K为6,返回false。
    【要求】时间复杂度为O(N+M),额外空间复杂度为O(1)。
    【思路】从右上角(或者左上角)开始一一进行比较,先往左,再往下走,依次淘汰行和列。

    相关文章

      网友评论

          本文标题:矩阵系列算法题

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