原題鏈結
題目:編寫一種演算法,若m × n矩陣中某個元素為0,則將其所在的行與列清零。
思路:①遍歷第一行,若第一行存在0,記錄下來;遍歷第一列,若第一列存在0,記錄下來;
②遍歷矩陣中除去第一行和第一列的所有元素,若某一位置的元素為0,將該位置對應的行首元素和列首元素置為0;
③遍歷矩陣中除去第一行和第二列的所有元素,若某一位置對應的行首元素或列首元素為0,則將該位置的元素置為0;
④根據第一步驟我們留下的記錄,考慮首行的所有元素或首列的所有元素是否置0。
c++實現如下:
class solution
//列遍歷
for(int i=0;ifor(int i=1;i}
}for(int i=1;i}
for(int i=0;ifor(int j=0;j}
};
面試題 01 08 零矩陣
編寫一種演算法,若m n矩陣中某個元素為0,則將其所在的行與列清零。示例 1 輸入 1,1,1 1,0,1 1,1,1 輸出 1,0,1 0,0,0 1,0,1 示例 2 輸入 0,1,2,0 3,4,5,2 1,3,1,5 輸出 0,0,0,0 0,4,5,0 0,3,1,0 2.1 類暴力破解 ...
刷題 力扣 面試題 01 08 零矩陣
題目鏈結 題目描述 編寫一種演算法,若m n矩陣中某個元素為0,則將其所在的行與列清零。示例 1 輸入 1,1,1 1,0,1 1,1,1 輸出 1,0,1 0,0,0 1,0,1 示例 2 輸入 0,1,2,0 3,4,5,2 1,3,1,5 輸出 0,0,0,0 0,4,5,0 0,3,1,0 ...
leetcode 面試題專題
面試題51.陣列中的逆序對 在陣列中的兩個數字,如果前面乙個數字大於後面的數字,則這兩個數字組成乙個逆序對。輸入乙個陣列,求出這個陣列中的逆序對的總數。利用歸併排序,將陣列分成兩部分,前面一部分和後面一部分,進行歸併的時候,需要比較兩個陣列的數值大小,如果第二個陣列的值小的話,代表前乙個陣列剩下的都...