力扣-hot100 (矩陣置零)

73. 矩陣置零

中等

給定一個 *m* x *n* 的矩陣,如果一個元素為 0 ,則將其所在行和列的所有元素都設為 0 。請使用 原地 算法

示例 1:

img

輸入:matrix = [[1,1,1],[1,0,1],[1,1,1]]
輸出:[[1,0,1],[0,0,0],[1,0,1]]

示例 2:

img

輸入:matrix = [[0,1,2,0],[3,4,5,2],[1,3,1,5]]
輸出:[[0,0,0,0],[0,4,5,0],[0,3,1,0]]

提示:

  • m == matrix.length

  • n == matrix[0].length

  • 1 <= m, n <= 200

  • -231 <= matrix[i][j] <= 231 - 1

class Solution {public void setZeroes(int[][] matrix) {int n = matrix.length;int m = matrix[0].length;// 為了不破壞原來的結構, 就是被感染成 0 的不能再去感染別的數, 只有初始為0的數才能去感染其它數int[][] copy = new int[n][m];// 初始化for(int i = 0; i < n; i ++){for(int j = 0; j < m; j ++) copy[i][j] = -1;}// O(n^3)for(int i = 0; i < n; i ++){for(int j = 0; j < m; j ++){if(matrix[i][j] == 0){// 可進行優化, 因為這里只要把行和列的下標索引記錄下來就可以了for(int k = 0; k < n; k ++) copy[k][j] = 0;for(int k = 0; k < m; k ++) copy[i][k] = 0;}}}
?for(int i = 0; i < n; i ++){for(int j = 0; j < m; j ++){if(copy[i][j] == 0) matrix[i][j] = 0;}}}
}

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/diannao/82014.shtml
繁體地址,請注明出處:http://hk.pswp.cn/diannao/82014.shtml
英文地址,請注明出處:http://en.pswp.cn/diannao/82014.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

安裝并運行第一個Spark程序

安裝并運行第一個Spark程序需要完成以下步驟&#xff1a;安裝Java和Spark&#xff0c;配置環境變量&#xff0c;編寫并運行Spark程序。以下是詳細的教程&#xff1a; 1. 安裝Java Spark需要Java運行環境&#xff08;JRE&#xff09;或Java開發工具包&#xff08;JDK&#xff…

Python Selenium爬蟲功能使用介紹

本文介紹python selenium 爬蟲的功能以及使用 1. 基礎核心功能 瀏覽器控制 from selenium import webdriver from selenium.webdriver.chrome.service import Service from webdriver_manager.chrome import ChromeDriverManager# 自動管理瀏覽器驅動 driver webdriver.Chro…

Cloudera CDP 7.1.3 主機異常關機導致元數據丟失,node不能與CM通信

問題描述 plaintext ERROR Could not load post-deployment data from /var/run/cloudera-scm-agent/process/ccdeploy_hadoop-conf_etchadoopconf.cloudera.yarn_-8903374259073700469 IOError: [Errno 2] No such file or directory: /var/run/cloudera-scm-agent/proce…

Nginx安全防護與HTTPS部署

目錄 Nginx 隱藏版本號 限制危險請求方法 請求限制&#xff08;CC攻擊防御&#xff09; 壓力測試 防盜鏈 防止防盜鏈 動態黑名單 自動添加黑名單 HTTPS配置 HTTPS 概念 安全通信的四大原則 HTTPS的幾種加密方式 nginx https的作用 Nginx 隱藏版本號 &#xff01;&#xff01;&a…

C++類對象的隱式類型轉換和編譯器返回值優化

文章目錄 前言1. 隱式類型轉換1.1 單參數的隱式類型轉換1.2 多參數的隱式類型轉換1.3 explicit關鍵字 2. 編譯器的優化2.1 普通構造優化2.2 函數傳參優化2.3 函數返回優化 前言 在類與對象的學習過程中&#xff0c;一定會對隱式類型轉換這個詞不陌生。對于內置類型而言&#x…

領麥微紅外溫度傳感器,搖奶器測溫應用

在育兒領域&#xff0c;精準控制奶液溫度是守護寶寶健康的重要環節。領麥微作為MEMS傳感器領域的創新先鋒&#xff0c;通過其紅外測溫傳感器的非接觸式測量、高精度測溫、實時反饋以及智能溫控節能等核心優勢&#xff0c;為搖奶器注入了全新的智能化解決方案。這一技術不僅提升…

第十一屆藍橋杯 2020 C/C++組 蛇形填數

目錄 題目&#xff1a; 題目描述: 題目鏈接&#xff1a; 思路&#xff1a; 思路詳解&#xff1a; 代碼&#xff1a; 代碼詳解&#xff1a; 題目&#xff1a; 題目描述: 題目鏈接&#xff1a; 蛇形填數 - 藍橋云課 思路&#xff1a; 思路詳解&#xff1a; 看圖找規律…

如何檢查 Watchtower 是否正常工作及更新未生效的排查方法【日常排錯】

文章目錄 前言一、驗證 Watchtower 是否正在運行1. 檢查 Watchtower 容器狀態2. 查看 Watchtower 日志 二、檢查5分鐘間隔設置是否正確1. 確認啟動命令2. 驗證環境變量 三、排查更新未生效的原因1. 檢查是否有鏡像更新2. 檢查容器標簽3. 檢查監控范圍 四、測試 Watchtower 功能…

寶塔面板,刪除項目后還能通過域名進行訪問

場景&#xff1a;在阿里云寶塔面板中&#xff0c;刪除了之前建立的html項目&#xff0c;通過之前綁定的域名還是可以訪問&#xff0c;又把項目的目錄文件刪除&#xff0c;發現還是不行 又清理了瀏覽器緩存&#xff0c;但還是有這個問題通過該域名重新創建一個html項目&#xff…

多層PCB SMT貼裝全流程指南:從物料準備到回流焊工藝控制

在電子制造領域&#xff0c;多層PCB板元器件貼片是一項重要的技術操作。本文將詳細介紹多層PCB板元器件貼片的操作流程和注意事項&#xff0c;幫助您更好地理解和掌握這項技術。 一、準備階段 在進行多層PCB板元器件貼片操作前&#xff0c;需要做好以下準備工作&#xff1a; 1.…

PAT(最近)

1022 D進制的AB - PAT (Basic Level) Practice &#xff08;中文&#xff09; 加減位置調換 本來以為就是簡單的 十進制轉換為一個長的字符串 沒想到在那個拼接字符串的時候 只需要簡單的 加減位置調換就可以 避免使用麻煩的翻轉函數 import java.util.Scanner; public clas…

【Harbor v2.13.0 詳細安裝步驟 安裝證書啟用 HTTPS】

Harbor v2.13.0 詳細安裝步驟&#xff08;啟用 HTTPS&#xff09; 1. 環境準備 系統要求&#xff1a;至少 4GB 內存&#xff0c;100GB 磁盤空間。 已安裝組件&#xff1a; Docker&#xff08;版本 ≥ 20.10&#xff09;Docker Compose&#xff08;版本 ≥ v2.0&#xff09; 域…

以pytest_addoption 為例,講解pytest框架中鉤子函數的應用

鉤子函數&#xff08;Hook Function&#xff09;的概念 鉤子函數&#xff08;Hook Function&#xff09;是軟件框架中預定義的回調接口&#xff0c;允許開發者在程序執行的特定階段插入自定義邏輯&#xff0c;以擴展或修改框架的默認行為。在 pytest 中&#xff0c;鉤子函數覆…

合并兩個有序鏈表 - 簡單

************* C topic: 21. 合并兩個有序鏈表 - 力扣&#xff08;LeetCode&#xff09; ************* Give the topic an inspection. Hi, guys, how is your holiday break? I went to 黃山 in the past few days. The mount Huang is really beautiful. 天都峰 is real…

13.Spring boot中使用Actuator 監控

13.Spring boot中使用Actuator 監控 Spring Boot Actuator 是 Spring Boot 提供的一個強大的監控和管理工具&#xff0c;它通過暴露各種端點&#xff08;Endpoints&#xff09;來提供應用程序的運行時信息。這些端點可以幫助開發者和管理員監控應用程序的健康狀況、性能指標、…

Python+Scrapy跨境電商爬蟲實戰:從亞馬遜/沃爾瑪數據采集到反爬攻克(附Pangolin API高效方案)

從零實戰到反爬攻克&#xff0c;揭秘跨境數據抓取全流程與Pangolin Scrape API終極方案 在當今數據驅動的跨境電商時代&#xff0c;誰掌握了優質的市場數據&#xff0c;誰就掌握了成功的關鍵。隨著全球電商市場規模持續擴大&#xff08;據Statista最新報告顯示&#xff0c;2025…

0基礎學習鴻蒙開發-HarmonyOS4

一、初識 1. 開發工具 官網 開發-HarmonyOS NEXT鴻蒙應用開發平臺-華為開發者聯盟 2. ArkTS 二、TypeScript 基本語法 1.變量聲明 2. 條件控制 注意 在TypeScrips中 空字符串數字0、null、undefined 都坡認為是false 其它值則為true if (num) {// num 非空執行 } 3. 循環迭…

深度學習中常用的符號表達式

在論文寫作過程中&#xff0c;常常涉及到一些關鍵的符號的表達&#xff0c;為了更加規范常用的一些符號表達&#xff0c;現將其總結如下&#xff08;該文件會持續性更新&#xff09;&#xff1a; 數字 x x x : 標量 x \mathbf{x} x : 向量 X \mathbf{X} X : 矩陣 X \mathsf{X}…

react naive 網絡框架源碼解析

本文取 react native 兩個區別很大的版本做分析&#xff08;0.76.5、0.53.3&#xff09; 一、0.76.5 版fetch 全流程排查 1、JS 端的實現 隨手寫一個fetch&#xff0c;點開。 我們這里常用的還是手機端&#xff0c;因此選擇 react-native&#xff0c;react-native-windows …

OpenCV 圖形API(81)圖像與通道拼接函數-----透視變換函數warpPerspective()

操作系統&#xff1a;ubuntu22.04 OpenCV版本&#xff1a;OpenCV4.9 IDE:Visual Studio Code 編程語言&#xff1a;C11 算法描述 對圖像應用透視變換。 函數 warpPerspective 使用指定的矩陣對源圖像進行變換&#xff1a; dst ( x , y ) src ( M 11 x M 12 y M 13 M 31 x…