leetcode 73 矩阵置零 Python
生活随笔
收集整理的這篇文章主要介紹了
leetcode 73 矩阵置零 Python
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
矩陣置零
給定一個?m?x?n?的矩陣,如果一個元素為 0,則將其所在行和列的所有元素都設為 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] ]進階:
- 一個直接的解決方案是使用 ?O(mn)?的額外空間,但這并不是一個好的解決方案。
- 一個簡單的改進方案是使用 O(m?+?n) 的額外空間,但這仍然不是最好的解決方案。
- 你能想出一個常數空間的解決方案嗎?
?
個人認為我這個思路在時間復雜度和空間復雜度上都比較可以的,有任何建議敬請批評指正
class Solution:def setZeroes(self, matrix: List[List[int]]) -> None:"""Do not return anything, modify matrix in-place instead."""i_s = []j_s = []for i,line in enumerate(matrix):has_z = Falsefor idx in range(len(line)):if line[idx] == 0:j_s.append(idx)has_z = Trueif has_z:i_s.append(i)for i in i_s:matrix[i] = [0 for i in range(len(matrix[0]))]if len(j_s):for j in j_s:for idx in range(len(matrix)):matrix[idx][j] = 0?
?
?
轉載于:https://www.cnblogs.com/watch-fly/p/leetcode_73_watchfly.html
總結
以上是生活随笔為你收集整理的leetcode 73 矩阵置零 Python的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Python中的高级变量类型
- 下一篇: 文件的高级应用