—命都不要,就爱,就爱安逸。

《我的团长我的团》

题目

73. 矩阵置零
74. 搜索二维矩阵
75. 颜色分类

想法

  1. 矩阵置零
    由于题目有时间的限制,我的想法不好,就从网上参考了一下,主要的想法如下:
    首先利用两个bool来表示第一行,第一列时候存在0。然后在搜索其它的位置,遇到了0就将相应的位置的第一行和第一列置零。然后再遍历第一行和第一列,利用它们来设置其他位置是否为0。最后利用bool来确定第一行和第一列的值。

  2. 搜索二维矩阵
    首先我的思路是利用了二次的二分查找,本来我以为效率挺高的了,结果看到了其他大神的解法直接是O(M+N)。说实话,思路确实很巧妙。思路是比较对角线的数字,从右上到左下。核心代码如下:

    while(row<=M && col>=0){
    if(matrix[row][col]==target)
    return true;
    if(matrix[row][col]>target){
    col--;
    }
    else
    row++;
    }
  3. 颜色分块

    1. 思路
      这个比较常见,属于三色棋问题。