hot100_240. 搜索二維矩陣 II

hot100_240. 搜索二維矩陣 II

  • 直接遍歷
  • 列減行增

編寫一個高效的算法來搜索 m x n 矩陣 matrix 中的一個目標值 target 。該矩陣具有以下特性:

每行的元素從左到右升序排列。
每列的元素從上到下升序排列。

示例 1:
在這里插入圖片描述
輸入:matrix = [[1,4,7,11,15],[2,5,8,12,19],[3,6,9,16,22],[10,13,14,17,24],[18,21,23,26,30]], target = 5
輸出:true

示例 2:
在這里插入圖片描述
輸入:matrix = [[1,4,7,11,15],[2,5,8,12,19],[3,6,9,16,22],[10,13,14,17,24],[18,21,23,26,30]], target = 20
輸出:false

直接遍歷

class Solution {public boolean searchMatrix(int[][] matrix, int target) {for(int[] row:matrix){for(int num:row){if(num==target){return true;}}}return false;}
}

列減行增

從右上角 matrix[0][n-1]開始,
matrix[x][y]==target,結束
因為每列遞增:matrix[x][y]>target , 該列的所有數值都大于target (它在該列的最上邊),y–
因為每行遞增:matrix[x][y]<target ,改行的所有數值都小于target (它在改行的最右邊),x++

class Solution {public boolean searchMatrix(int[][] matrix, int target) {int m=matrix.length,n=matrix[0].length;int x=0,y=n-1;while(x<m && y>=0){if(matrix[x][y]==target){return true;}if(matrix[x][y]>target){--y;}else{++x;}}return false;}
}

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

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

相關文章

一步到位Python Django部署,淺談Python Django框架

Django是一個使用Python開發的Web應用程序框架&#xff0c;它遵循MVC&#xff08;Model-View-Controller&#xff09;設計模式&#xff0c;旨在幫助開發人員更快、更輕松地構建和維護高質量的Web應用程序。Django提供了強大的基礎設施和工具&#xff0c;以便于處理復雜的業務邏…

Apache PAIMON 學習

參考&#xff1a;Apache PAIMON&#xff1a;實時數據湖技術框架及其實踐 數據湖不僅僅是一個存儲不同類數據的技術手段&#xff0c;更是提高數據分析效率、支持數據驅動決策、加速AI發展的基礎設施。 新一代實時數據湖技術&#xff0c;Apache PAIMON兼容Apache Flink、Spark等…

《計算機網絡》課后探研題書面報告_了解PPPoE協議

PPPoE協議的工作原理與應用分析 摘 要 PPPoE&#xff08;Point-to-Point Protocol over Ethernet&#xff09;是一種廣泛應用于寬帶接入的網絡協議&#xff0c;特別是在DSL&#xff08;數字用戶線路&#xff09;和光纖網絡中具有重要的應用價值。PPPoE結合了PPP協議的認證、加…

【MySQL學習筆記】MySQL存儲過程

存儲過程 1、基礎語法2、變量2.1 系統變量2.2 用戶自定義變量2.3 局部變量 3、if 流程控制4、參數5、case 流程控制6、循環結構6.1 while 循環6.2 repeat 循環6.3 loop 循環 7、游標8、存儲函數 存儲過程是事先經過編譯并存儲在數據庫中的一段 SQL 語句的集合&#xff0c;調用存…

MAC上安裝Octave

1. 當前最新版Octave是9.3版本&#xff0c;需要把mac os系統升級到14版本&#xff08;本人之前的版本是10版本&#xff09; https://wiki.octave.org/Octave_for_macOS octave的歷史版本參考此文檔&#xff1a;Octave for macOS (outdated) - Octavehttps://wiki.octave.org/Oc…

mysql-5.7.18保姆級詳細安裝教程

本文主要講解如何安裝mysql-5.7.18數據庫&#xff1a; 將綠色版安裝包mysql-5.7.18-winx64解壓后目錄中內容如下圖&#xff0c;該例是安裝在D盤根目錄。 在mysql安裝目錄中新建my.ini文件&#xff0c;文件內容及各配置項內容如下圖&#xff0c;需要先將配置項【skip-grant-tab…

VSCode連接Github的重重困難及解決方案!

一、背景&#xff1a; 我首先在github創建了一個新的項目&#xff0c;并自動創建了readme文件其次在vscode創建項目并寫了兩個文件在我想將vscode的項目上傳到對應的github上時&#xff0c;錯誤出現了 二、報錯及解決方案&#xff1a; 1.解決方案&#xff1a; 需要在git上配置用…

YOLOV8漲點技巧之混合注意力與特征金字塔網絡融合

YOLO發展歷程 自2015年YOLOv1問世以來,這一革命性的目標檢測算法經歷了一系列重大升級。以下是YOLO各版本的主要發展里程碑: 版本 發布時間 主要開發者 YOLOv1 2015年6月 Joseph Redmon YOLOv2(YOLO9000) 2016年12月 Joseph Redmon YOLOv3 2018年4月 Joseph Redmon

數據分析:非度量多維排列 NMDS (Non-metric multidimensional scaling)ANOSIM檢驗分析

禁止商業或二改轉載,僅供自學使用,侵權必究,如需截取部分內容請后臺聯系作者! 文章目錄 介紹原理步驟加載R包數據下載導入數據數據預處理計算距離矩陣ANOSIM檢驗非度量多維排列NMDS應力值(stress value)畫圖輸出系統信息介紹 非度量多維排列(Non-metric Multidimensiona…

Open FPV VTX開源之ardupilot配置

Open FPV VTX開源之ardupilot配置 1. 源由2. 配置3. 總結4. 參考資料5. 補充5.1 飛控固件版本5.2 配置Ardupilot的BF OSD5.3 OSD偏左問題 1. 源由 飛控嵌入式OSD - ardupilot配置使用ardupliot配套OSD圖片。 Choose correct font depending on Flight Controller SW. ──>…

硬件實用技巧:TPS54331DR橫杠標識識別1引腳

若該文為原創文章&#xff0c;轉載請注明原文出處 本文章博客地址&#xff1a;https://hpzwl.blog.csdn.net/article/details/145116969 長沙紅胖子Qt&#xff08;長沙創微智科&#xff09;博文大全&#xff1a;開發技術集合&#xff08;包含Qt實用技術、樹莓派、三維、OpenCV…

Python庫之PyAutoGUI安裝以及使用方法

Date: 2025.01.15 20:54:01 author: lijianzhan PyAutoGUI是一個功能強大的Python庫&#xff0c;它允許我們用于通過編程控制鼠標和鍵盤&#xff0c;實現自動化任務。它可以模擬用戶的輸入操作&#xff0c;例如點擊、拖動、輸入文本等&#xff0c;適用于 GUI 自動化、測試腳本、…

Linux離線部署ELK

文章目錄 前期準備開始安裝安裝elastic search安裝logstash安裝kibana 配置ELK配置ElasticSearch配置logstash配置kibana 啟動ELK啟動命令啟動測試 設置ELK策略創建ILM策略將ILM策略與日志index關聯查看索引是否被ILM策略管理 前期準備 ELK包含三部分軟件 ElasticSearch用作搜…

Go語言的數據競爭 (Data Race) 和 競態條件 (Race Condition)

文章精選推薦 1 JetBrains Ai assistant 編程工具讓你的工作效率翻倍 2 Extra Icons&#xff1a;JetBrains IDE的圖標增強神器 3 IDEA插件推薦-SequenceDiagram&#xff0c;自動生成時序圖 4 BashSupport Pro 這個ides插件主要是用來干嘛的 &#xff1f; 5 IDEA必裝的插件&…

Node.js - Express框架

1. 介紹 Express 是一個基于 Node.js 的 Web 應用程序框架&#xff0c;主要用于快速、簡便地構建 Web 應用程序 和 API。它是目前最流行的 Node.js Web 框架之一&#xff0c;具有輕量級、靈活和功能豐富的特點。 核心概念包括路由&#xff0c;中間件&#xff0c;請求與響應&a…

《光學遙感圖像中顯著目標檢測的多內容互補網絡》2021-9

一、簡介 在本文中&#xff0c;我們提出了一種新的多內容互補網絡 &#xff08;MCCNet&#xff09; 來探索 RSI-SOD 的多內容互補性。具體來說&#xff0c;MCCNet 基于通用的編碼器-解碼器架構&#xff0c;并包含一個名為 multi-content complementation module &#xff08;MC…

【STM8S】STM8S之自定義短、長、連擊按鍵

本文最后修改時間&#xff1a;2018年10月22日 01:57 一、本節簡介 本文介紹STM8S系列如何實現按鍵的短按、長按、連擊。 二、實驗平臺 編譯軟件&#xff1a;IAR for STM8 1.42.2 硬件平臺&#xff1a;stm8s003f3p6開發板 仿真器&#xff1a;ST-LINK 庫函數版本&#xff1a…

數據庫(MySQL)練習

數據庫&#xff08;MySQL&#xff09;練習 一、練習1.15練習練習 二、注意事項2.1 第四天 一、練習 1.15練習 win11安裝配置MySQL超詳細教程: https://baijiahao.baidu.com/s?id1786910666566008458&wfrspider&forpc 準備工作&#xff1a; mysql -uroot -p #以管理…

【深度學習地學應用|滑坡制圖、變化檢測、多目標域適應、感知學習、深度學習】跨域大尺度遙感影像滑坡制圖方法:基于原型引導的領域感知漸進表示學習(一)

【深度學習地學應用|滑坡制圖、變化檢測、多目標域適應、感知學習、深度學習】跨域大尺度遙感影像滑坡制圖方法&#xff1a;基于原型引導的領域感知漸進表示學習&#xff08;一&#xff09; 【深度學習地學應用|滑坡制圖、變化檢測、多目標域適應、感知學習、深度學習】跨域大…

RPC實現原理,怎么跟調用本地一樣

回答1 要讓?絡通信細節對使?者透明&#xff0c;我們需要對通信細節進?封裝&#xff0c;我們先看下?個 RPC 調?的流程涉及到哪些通 信細節&#xff1a; 1. 服務消費?&#xff08; client &#xff09;調?以本地調??式調?服務&#xff1b; 2. client stub 接收到調…