leecode73 矩陣置零

在這里插入圖片描述

我的思路

這個題目不難,就是一句話,遍歷這個矩陣的時候,當遇到0的時候就把該行該列改為0,同時為了不影響后續的遍歷,我們可以將這個遍歷和修改分為兩個數組。使用mn的輔助空間

class Solution {public void setZeroes(int[][] matrix) {//如果只是使用m+n的空間int m = matrix.length,n = matrix[0].length;Set<Integer> line = new HashSet<>();Set<Integer> row = new HashSet<>();for(int i =0;i<m;i++){for(int j =0;j<n;j++){if(matrix[i][j]==0){line.add(i);row.add(j);}}}for(int num:line){for(int k=0;k<n;k++){matrix[num][k]=0;}}for(int num:row){for(int k=0;k<m;k++){matrix[k][num]=0;}}}
}

如果使用m+n的輔助空間,我們可以使用set來使用,set可以去重

class Solution {public void setZeroes(int[][] matrix) {//如果只是使用m+n的空間int m = matrix.length,n = matrix[0].length;Set<Integer> line = new HashSet<>();Set<Integer> row = new HashSet<>();for(int i =0;i<m;i++){for(int j =0;j<n;j++){if(matrix[i][j]==0){line.add(i);row.add(j);}}}for(int num:line){for(int k=0;k<n;k++){matrix[num][k]=0;}}for(int num:row){for(int k=0;k<m;k++){matrix[k][num]=0;}}}
}

其它思路

沒有找到靈神的題解,可能靈神覺得這個題目不值得研究吧。

不過找到了一個只用了O(1)復雜度的大佬,看一下他的解法

他的做法主要分為三步,利用第一行和第一列進行標記

  • 第一輪:從 (1,1) 開始掃,用第一行、第一列做標記。
  • 第二輪:再從 (1,1) 開始,根據標記把相應位置清零。
  • 最后:根據兩個 flag 決定要不要把第一行、第一列全部清零。
class Solution {public void setZeroes(int[][] matrix) {int row = matrix.length;int col = matrix[0].length;boolean row0_flag = false;boolean col0_flag = false;// 第一行是否有零for (int j = 0; j < col; j++) {if (matrix[0][j] == 0) {row0_flag = true;break;}}// 第一列是否有零for (int i = 0; i < row; i++) {if (matrix[i][0] == 0) {col0_flag = true;break;}}// 把第一行第一列作為標志位for (int i = 1; i < row; i++) {for (int j = 1; j < col; j++) {if (matrix[i][j] == 0) {matrix[i][0] = matrix[0][j] = 0;}}}// 置0for (int i = 1; i < row; i++) {for (int j = 1; j < col; j++) {if (matrix[i][0] == 0 || matrix[0][j] == 0) {matrix[i][j] = 0;}}}if (row0_flag) {for (int j = 0; j < col; j++) {matrix[0][j] = 0;}}if (col0_flag) {for (int i = 0; i < row; i++) {matrix[i][0] = 0;}} }
}作者:powcai
鏈接:https://leetcode.cn/problems/set-matrix-zeroes/solutions/6594/o1kong-jian-by-powcai/
來源:力扣(LeetCode)
著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請注明出處。
```里寫自定義目錄標題)# 歡迎使用Markdown編輯器你好! 這是你第一次使用 **Markdown編輯器** 所展示的歡迎頁。如果你想學習如何使用Markdown編輯器, 可以仔細閱讀這篇文章,了解一下Markdown的基本語法知識。## 新的改變我們對Markdown編輯器進行了一些功能拓展與語法支持,除了標準的Markdown編輯器功能,我們增加了如下幾點新功能,幫助你用它寫博客:1. **全新的界面設計** ,將會帶來全新的寫作體驗;2. 在創作中心設置你喜愛的代碼高亮樣式,Markdown **將代碼片顯示選擇的高亮樣式** 進行展示;3. 增加了 **圖片拖拽** 功能,你可以將本地的圖片直接拖拽到編輯區域直接展示;4. 全新的 **KaTeX數學公式** 語法;5. 增加了支持**甘特圖的mermaid語法[^1]** 功能;6. 增加了 **多屏幕編輯** Markdown文章功能;7. 增加了 **焦點寫作模式、預覽模式、簡潔寫作模式、左右區域同步滾輪設置** 等功能,功能按鈕位于編輯區域與預覽區域中間;8. 增加了 **檢查列表** 功能。[^1]: [mermaid語法說明](https://mermaidjs.github.io/)## 功能快捷鍵撤銷:<kbd>Ctrl/Command</kbd> + <kbd>Z</kbd>
重做:<kbd>Ctrl/Command</kbd> + <kbd>Y</kbd>
加粗:<kbd>Ctrl/Command</kbd> + <kbd>B</kbd>
斜體:<kbd>Ctrl/Command</kbd> + <kbd>I</kbd>
標題:<kbd>Ctrl/Command</kbd> + <kbd>Shift</kbd> + <kbd>H</kbd>
無序列表:<kbd>Ctrl/Command</kbd> + <kbd>Shift</kbd> + <kbd>U</kbd>
有序列表:<kbd>Ctrl/Command</kbd> + <kbd>Shift</kbd> + <kbd>O</kbd>
檢查列表:<kbd>Ctrl/Command</kbd> + <kbd>Shift</kbd> + <kbd>C</kbd>
插入代碼:<kbd>Ctrl/Command</kbd> + <kbd>Shift</kbd> + <kbd>K</kbd>
插入鏈接:<kbd>Ctrl/Command</kbd> + <kbd>Shift</kbd> + <kbd>L</kbd>
插入圖片:<kbd>Ctrl/Command</kbd> + <kbd>Shift</kbd> + <kbd>G</kbd>
查找:<kbd>Ctrl/Command</kbd> + <kbd>F</kbd>
替換:<kbd>Ctrl/Command</kbd> + <kbd>G</kbd>## 合理的創建標題,有助于目錄的生成直接輸入1<kbd>#</kbd>,并按下<kbd>space</kbd>后,將生成1級標題。
輸入2<kbd>#</kbd>,并按下<kbd>space</kbd>后,將生成2級標題。
以此類推,我們支持6級標題。有助于使用`TOC`語法后生成一個完美的目錄。## 如何改變文本的樣式*強調文本* _強調文本_**加粗文本** __加粗文本__==標記文本==~~刪除文本~~> 引用文本H~2~O is是液體。2^10^ 運算結果是 1024.## 插入鏈接與圖片鏈接: [link](https://www.csdn.net/).圖片: ![Alt](https://imgconvert.csdnimg.cn/aHR0cHM6Ly9hdmF0YXIuY3Nkbi5uZXQvNy83L0IvMV9yYWxmX2h4MTYzY29tLmpwZw)帶尺寸的圖片: ![Alt](https://imgconvert.csdnimg.cn/aHR0cHM6Ly9hdmF0YXIuY3Nkbi5uZXQvNy83L0IvMV9yYWxmX2h4MTYzY29tLmpwZw =30x30)居中的圖片: ![Alt](https://imgconvert.csdnimg.cn/aHR0cHM6Ly9hdmF0YXIuY3Nkbi5uZXQvNy83L0IvMV9yYWxmX2h4MTYzY29tLmpwZw#pic_center)居中并且帶尺寸的圖片: ![Alt](https://imgconvert.csdnimg.cn/aHR0cHM6Ly9hdmF0YXIuY3Nkbi5uZXQvNy83L0IvMV9yYWxmX2h4MTYzY29tLmpwZw#pic_center =30x30)當然,我們為了讓用戶更加便捷,我們增加了圖片拖拽功能。## 如何插入一段漂亮的代碼片去[博客設置](https://mp.csdn.net/console/configBlog)頁面,選擇一款你喜歡的代碼片高亮樣式,下面展示同樣高亮的 `代碼片`.
```javascript
// An highlighted block
var foo = 'bar';

生成一個適合你的列表

  • 項目
    • 項目
      • 項目
  1. 項目1
  2. 項目2
  3. 項目3
  • 計劃任務
  • 完成任務

創建一個表格

一個簡單的表格是這么創建的:

項目Value
電腦$1600
手機$12
導管$1

設定內容居中、居左、居右

使用:---------:居中
使用:----------居左
使用----------:居右

第一列第二列第三列
第一列文本居中第二列文本居右第三列文本居左

SmartyPants

SmartyPants將ASCII標點字符轉換為“智能”印刷標點HTML實體。例如:

TYPEASCIIHTML
Single backticks'Isn't this fun?'‘Isn’t this fun?’
Quotes"Isn't this fun?"“Isn’t this fun?”
Dashes-- is en-dash, --- is em-dash– is en-dash, — is em-dash

創建一個自定義列表

Markdown
Text-to-HTML conversion tool
Authors
John
Luke

如何創建一個注腳

一個具有注腳的文本。1

注釋也是必不可少的

Markdown將文本轉換為 HTML

KaTeX數學公式

您可以使用渲染LaTeX數學表達式 KaTeX:

Gamma公式展示 Γ(n)=(n?1)!?n∈N\Gamma(n) = (n-1)!\quad\forall n\in\mathbb NΓ(n)=(n?1)!?nN 是通過歐拉積分

Γ(z)=∫0∞tz?1e?tdt.\Gamma(z) = \int_0^\infty t^{z-1}e^{-t}dt\,. Γ(z)=0?tz?1e?tdt.

你可以找到更多關于的信息 LaTeX 數學表達式here.

新的甘特圖功能,豐富你的文章

2014-01-072014-01-092014-01-112014-01-132014-01-152014-01-172014-01-192014-01-21已完成 進行中 計劃一 計劃二 現有任務Adding GANTT diagram functionality to mermaid
  • 關于 甘特圖 語法,參考 這兒,

UML 圖表

可以使用UML圖表進行渲染。 Mermaid. 例如下面產生的一個序列圖:

張三李四王五你好!李四, 最近怎么樣?你最近怎么樣,王五?我很好,謝謝!我很好,謝謝!李四想了很長時間, 文字太長了不適合放在一行.打量著王五...很好... 王五, 你怎么樣?張三李四王五

這將產生一個流程圖。:

鏈接
長方形
圓角長方形
菱形
  • 關于 Mermaid 語法,參考 這兒,

FLowchart流程圖

我們依舊會支持flowchart的流程圖:

Created with Rapha?l 2.3.0開始我的操作確認?結束yesno
  • 關于 Flowchart流程圖 語法,參考 這兒.

導出與導入

導出

如果你想嘗試使用此編輯器, 你可以在此篇文章任意編輯。當你完成了一篇文章的寫作, 在上方工具欄找到 文章導出 ,生成一個.md文件或者.html文件進行本地保存。

導入

如果你想加載一篇你寫過的.md文件,在上方工具欄可以選擇導入功能進行對應擴展名的文件導入,
繼續你的創作。


  1. 注腳的解釋 ??

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

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

相關文章

Spring Boot 與前端文件上傳跨域問題:Multipart、CORS 與網關配置

前言在前后端分離架構下&#xff0c;文件上傳是一個常見功能。但在 Spring Boot 項目中&#xff0c;我們經常會遇到前端調用接口上傳文件時出現 跨域問題&#xff0c;表現為&#xff1a;瀏覽器控制臺報錯&#xff1a;Access-Control-Allow-Origin 缺失或不匹配。使用 FormData …

快速解決云服務器的數據庫PhpMyAdmin登錄問題

打開PhpMyAdmin數據庫管理器登錄頁面賬號密碼就是你的用戶名&#xff08;如YiXun&#xff09;和密碼注意&#xff1a;root賬戶的密碼&#xff0c;點擊下面的“root密碼”即能看到或修改PhpMyAdmin無法打開如果打不開&#xff1a;在數據庫&#xff0c;點擊PHPMyAdmin&#xff0c…

vite+vue3中使用FFmpeg@0.12.15實現視頻編輯功能,不依賴SharedArrayBuffer!!!

FFmpeg0.12.15完全不依賴SharedArrayBuffer!!!強烈推薦使用 本文章主要是在vitevue3項目中使用FFmpeg&#xff0c;只展示了如何在項目中引入和基礎的使用 更多詳細參數可參照 ffmpeg官網https://ffmpeg.org/ 一、安裝FFmpeg 可通過npm直接安裝 npm install ffmpeg/core0.12.10…

構網型5MW中壓儲能變流升壓一體機技術方案

1 構網型儲能背景概述1.1 新型電力系統亟需構網支撐眾所周知&#xff0c;新型電力系統具有兩高特征&#xff1a;高比例新能源大規模并網、高比例電力電子大范圍接入。近年來風光裝機占比越來越高&#xff0c;而傳統火電裝機占比越來越低&#xff0c;并在2023年首次降至50%以下…

SRE 系列(七)| 從技術架構到團隊組織

目錄SRE落地與組織架構實踐技術架構與組織架構的匹配技術架構示例運維職責分工技術保障體系SRE 多角色團隊總結SRE落地與組織架構實踐 在落地 SRE 時&#xff0c;很多團隊最關心的問題之一就是組織架構&#xff1a;我們究竟需要怎樣的團隊形態&#xff0c;才能支撐微服務和分…

香港期權市場的主要參與者有哪些?

本文主要介紹香港期權市場的主要參與者有哪些&#xff1f;香港期權市場作為全球重要的金融衍生品市場&#xff0c;其參與者結構呈現多元化、專業化的特征&#xff0c;主要涵蓋以下核心群體。香港期權市場的主要參與者有哪些&#xff1f;1. 機構投資者&#xff08;主導力量&…

搜維爾科技:全身可穿戴Teslasuit動捕服的功能,自立式FES裝置

功能性電刺激 (FES) 設備廣泛應用于康復和醫療實踐。其底層技術利用低能量電脈沖&#xff0c;在中風、脊髓損傷、多發性硬化癥、腦癱等各種疾病患者中人工產生身體運動。一般來說&#xff0c;FES系統可以分為三類&#xff1a;開環、有限狀態控制和閉環方法。這三種方法描述了 F…

【深度學習新浪潮】MoE是什么技術?

混合專家模型(Mixture of Experts,MoE)是大模型時代提升計算效率與模型能力的核心技術之一。其核心思想是將復雜任務分解為多個子任務,通過動態路由機制激活特定專家網絡處理輸入數據,從而在保持模型容量的同時大幅降低計算成本。以下是技術細節與實際應用的深度解析: 一…

Java進階教程,全面剖析Java多線程編程,實現Callable接口實現多線程,筆記05

Java進階教程&#xff0c;全面剖析Java多線程編程&#xff0c;實現Callable接口實現多線程&#xff0c;筆記05 參考資料 多線程&JUC-05-多線程的第三種實現方式一、實現Callable接口實現多線程 二、三種方式對比 優點缺點繼承Thread類編程比較簡單&#xff0c;可以直接使…

軌道交通絕緣監測—軌道交通安全的隱形防線

軌道交通絕緣監測作為保障行車安全的核心環節&#xff0c;正面臨多重技術與環境挑戰。復雜運營環境是首要痛點&#xff0c;隧道內高濕度&#xff08;月均濕度達95%&#xff09;會增大鋼軌表面電導率&#xff0c;霧氣中的鹽分更會加速扣件絕緣性能下降&#xff0c;導致過渡電阻驟…

tar-符號連接(軟連接)

1.符號連接是什么符號鏈接&#xff08;symbolic link&#xff0c;也叫軟鏈接&#xff09;本質上是一個 指向路徑的特殊文件。例如&#xff1a;ln -s /etc/passwd passwd_link這會創建一個叫 passwd_link 的文件&#xff0c;但它本身不存放 /etc/passwd 的內容&#xff0c;而是存…

ffmpeg切割音頻

ffmpeg切割音頻 我希望對指定音頻切割&#xff0c;按照開始時間&#xff0c;結束時間&#xff0c;切割成新文件&#xff0c;自動保存&#xff0c;非常好用 step1: from pydub import AudioSegment import os# 配置FFmpeg路徑&#xff08;確保路徑正確&#xff09; ffmpeg_path …

Python 批量處理:Markdown 與 HTML 格式相互轉換

文章目錄引言與同類工具的優勢對比Python 將 Markdown 轉換為 HTMLPython 將 HTML 轉換為 Markdown批量轉換與自動化處理引言 在多平臺內容分發與管理的場景中&#xff0c;文檔格式轉換已成為內容生態系統中的關鍵環節。Markdown 作為輕量級標記語言&#xff0c;以其語法簡潔、…

御控物聯網遠程控制水泵啟停智能自控解決方案

在農業灌溉、城市排水、工業供水等場景中&#xff0c;水泵作為核心設備&#xff0c;長期面臨以下難題&#xff1a;人工依賴度高&#xff1a;需24小時值守&#xff0c;暴雨或干旱時響應滯后&#xff1b; 能耗浪費嚴重&#xff1a;空轉、過載運行導致電費居高不下&#xff1b; …

RedisI/O多路復用:單線程網絡模型epoll工作流程

epoll1. 在內核創建eventpoll結構體&#xff0c;返回句柄epfd&#xff08;唯一標識&#xff09;eventpoll包含存放被監聽的fd的紅黑樹&#xff0c;和存放已就緒的fd的鏈表2. 將要監聽的fd加入到epoll紅黑樹中&#xff0c;并設置callback回調函數callback觸發時&#xff0c;就將…

SmartBear API Hub助力MCP開發,無縫、安全的連接AI與外部工具

人工智能&#xff08;AI&#xff09;技術的應用場景日益廣泛&#xff0c;如何讓不同的AI系統之間實現高效、無縫的交互&#xff0c;成為了業界的重要課題。隨著人工智能技術的不斷進步&#xff0c;模型上下文協議&#xff08;MCP&#xff09;應運而生。MCP為不同AI系統之間提供…

如何選擇高性價比的iOS簽名服務?關鍵因素與價格區間

作為一名摸爬滾打多年的開發者&#xff0c;我來和你聊聊怎么挑一個靠譜又不坑的iOS簽名服務。這玩意兒選不好&#xff0c;輕則測試團隊干瞪眼&#xff0c;重則App下架&#xff0c;用戶投訴&#xff0c;簡直是我們開發者的噩夢。別光看價格&#xff01;先想清楚你的核心需求在選…

MoonBit 正式加入 WebAssembly Component Model 官方文檔 !

我們非常高興地宣布&#xff0c;MoonBit 已正式收錄在 WebAssembly Component Model 的官方文檔中。這不僅是對 MoonBit 技術路線的一次肯定&#xff0c;也讓我們有機會和 Rust、Go、C# 等語言一起&#xff0c;出現在開發者查閱組件模型的入口頁面中。一、 關于 WebAssembly Co…

Python快速入門專業版(三十二):匿名函數:lambda表達式的簡潔用法(結合filter/map)

目錄引一、lambda表達式的基本語法&#xff1a;一行代碼定義函數示例1&#xff1a;lambda表達式與普通函數的對比二、lambda表達式的應用場景&#xff1a;臨時與靈活1. 臨時使用&#xff1a;無需定義函數名的簡單功能2. 作為參數傳遞給高階函數三、結合filter()&#xff1a;篩選…

【LeetCode 每日一題】3025. 人員站位的方案數 I——(解法一)暴力枚舉

Problem: 3025. 人員站位的方案數 I 文章目錄整體思路完整代碼時空復雜度時間復雜度&#xff1a;O(N^3)空間復雜度&#xff1a;O(1)整體思路 這段代碼旨在解決一個幾何計數問題&#xff1a;給定平面上的 n 個點&#xff0c;計算滿足特定條件的“點對” (i, j) 的數量。 根據代…