首页 > 其他 > 详细

[LeetCode] 73. Set Matrix Zeroes

时间:2017-02-19 10:39:16      阅读:270      评论:0      收藏:0      [点我收藏+]

技术分享

【思路】将每一个(0,0)点坐标存入multimap中,再在遍历时将行和列清零,代码如下:

 1 class Solution
 2 {
 3 public:
 4     void setRowCol(vector<vector<int>>& matrix, multimap<int, int> Map)
 5     {
 6         multimap<int, int>::iterator iter = Map.begin();
 7         for(; iter != Map.end(); iter ++)
 8         {
 9             for(int i = 0;i < matrix.size(); i ++)
10             {
11                 matrix[i][iter->second] = 0;//列清零
12             }
13             for(int j = 0;j < matrix[0].size();j ++)
14             {
15                 matrix[iter->first][j] = 0;//行清零
16             }
17         }
18     }
19     void setZeroes(vector<vector<int>>& matrix)
20     {
21         multimap<int, int> Map;
22         for(int i = 0; i < matrix.size(); i ++)
23         {
24             for(int j = 0; j < matrix[0].size(); j ++)
25             {
26                 if(matrix[i][j] == 0)
27                 {
28                     Map.insert(pair<int, int> (i,j));
29                 }
30             }
31         }
32         setRowCol(matrix,Map);
33     }
34 };

 

[LeetCode] 73. Set Matrix Zeroes

原文:http://www.cnblogs.com/lca1826/p/6414703.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!