Leetcode 240. 搜索二維矩陣 II 矩陣 / 二分

原題鏈接: Leetcode 240. 搜索二維矩陣 II

在這里插入圖片描述

在這里插入圖片描述

在這里插入圖片描述
解法一:排除法
參考 【圖解】排除法,一圖秒懂!(Python/Java/C++/C/Go/JS/Rust)

從右上角:

class Solution {
public:bool searchMatrix(vector<vector<int>>& matrix, int target) {int m=matrix.size();int n=matrix[0].size();int min_num=matrix[0][0];int max_num=matrix[m-1][n-1];if(target<min_num || target>max_num) return false;int i=0,j=n-1;while(i<m && j>=0){if( matrix[i][j]==target) {return true;}if( matrix[i][j]<target){i++;}else{j--;}}return false;}
};

從左下角:

class Solution {
public:bool searchMatrix(vector<vector<int>>& matrix, int target) {int m=matrix.size();int n=matrix[0].size();int min_num=matrix[0][0];int max_num=matrix[m-1][n-1];if(target<min_num || target>max_num) return false;int i=m-1,j=0;while(i>=0 && j<n){if( matrix[i][j]<target ){j++;}else if( matrix[i][j]>target ){i--;}else return true;}return false;}
};

解法二:二分

class Solution {
public:bool searchMatrix(vector<vector<int>>& matrix, int target) {int m=matrix.size();int n=matrix[0].size();int min_num=matrix[0][0];int max_num=matrix[m-1][n-1];if(target<min_num || target>max_num) return false;for(auto row: matrix){auto it = lower_bound(row.begin(),row.end(),target);if (it != row.end() && *it==target) return true;}return false;}
};

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

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

相關文章

OCR 證件識別:驅動澳門酒店自助入住智能化

澳門酒店作為國際旅游窗口&#xff0c;每日接待持多元證件的旅客&#xff0c;OCR 證件識別技術的應用&#xff0c;讓自助入住終端實現 “一證通辦”&#xff0c;大幅提升服務效率。?旅客在自助終端辦理入住時&#xff0c;只需將護照、港澳通行證、回鄉證、電子身份證等證件貼近…

深入解析匯編語言的奧秘

匯編語言簡介匯編語言&#xff08;Assembly Language&#xff09;是一種低級編程語言&#xff0c;直接對應計算機的機器指令集。它通過助記符&#xff08;如 MOV、ADD&#xff09;代替二進制操作碼&#xff0c;更接近硬件架構&#xff0c;常用于性能優化、嵌入式開發或逆向工程…

Nextcloud 實戰:打造屬于你的私有云與在線協作平臺

隨著數據安全與隱私保護意識的提升&#xff0c;越來越多的個人和組織選擇自建云平臺來替代公有云。Nextcloud 作為一款開源的文件同步與協作套件&#xff0c;不僅能實現類似網盤的文件存儲與分享&#xff0c;還提供日歷、聯系人、即時通訊、在線文檔編輯等協作功能&#xff0c;…

實踐指南:利用衡石AI Data Agent實現自然語言驅動的指標開發與歸因

在數字化轉型的深水區&#xff0c;企業數據團隊常面臨兩難困境&#xff1a;業務部門需要敏捷響應的指標分析&#xff0c;但傳統BI工具依賴技術團隊編寫SQL&#xff0c;導致需求交付周期長達數周&#xff1b;而直接暴露底層數據又存在安全與合規風險。衡石科技推出的AI Data Age…

知微集:Python中的線程(三)

歡迎來到"一起學點什么吧"的合集「NLP知微集」。在這里&#xff0c;我們不愿宏大敘事&#xff0c;只聚焦于自然語言處理領域中那些細微卻關鍵的“齒輪”與“螺絲釘”。我相信&#xff0c;真正深刻的理解&#xff0c;源于對細節的洞察。本期&#xff0c;我將為您拆解的…

動態規劃入門:從記憶化搜索到動態規劃

在開始對動態規劃的講解之前&#xff0c;我們需要先對記憶化搜索進行回顧&#xff1a; 什么是記憶化搜索&#xff1f; 在搜索過程中&#xff0c;當搜索樹中存在大量重復的節點時&#xff0c;我們可以通過引入一個"備忘錄"&#xff08;通常是一個數組或哈希表&#…

Boost搜索引擎 網絡庫與前端(4)

文章目錄前言一、引入網絡庫模塊引入cpp-httplibcpp-httplib測試正式編寫http_server二、前端模塊三、項目的可能拓展總結前言 終于到了最后一篇嘍&#xff0c;嘻嘻&#xff01; 一、引入網絡庫模塊 引入cpp-httplib 下載地址如下&#xff0c;我個人不喜歡新版本 ??cpp-http…

Flink反壓問題

背景在使用flink的過程中&#xff0c;多次遇到過反壓&#xff08;backpressure&#xff09;的問題&#xff0c;這通常是因為數據處理的速率超過了數據源或下游系統的處理能力導致。反壓的底層剖析網絡流控一個重要的概念是網絡流控&#xff0c;如上圖&#xff0c;不同的Consume…

Day5-中間件與請求處理

昨天搞定了異步優化&#xff0c;今天來解決一些實際問題。Day4的API雖然性能不錯&#xff0c;但還缺少一些企業級應用必備的功能。 現在的問題 前端無法訪問API&#xff08;跨域問題&#xff09;沒有請求日志&#xff0c;出問題難以排查錯誤信息格式不統一缺少統一的請求處理機…

【LeetCode熱題100道筆記】反轉鏈表

題目描述 給你單鏈表的頭節點 head &#xff0c;請你反轉鏈表&#xff0c;并返回反轉后的鏈表。 示例 1&#xff1a;輸入&#xff1a;head [1,2,3,4,5] 輸出&#xff1a;[5,4,3,2,1] 示例 2&#xff1a;輸入&#xff1a;head [1,2] 輸出&#xff1a;[2,1] 示例 3&#xff1a;…

Oracle:select top 5

在Oracle數據庫中實現SELECT TOP 5功能需采用特定語法&#xff0c;因其原生不支持TOP關鍵字。以下是兩種主流實現方式&#xff1a;?ROWNUM結合子查詢?先通過子查詢排序數據&#xff0c;再在外層用ROWNUM限制行數&#xff1a;SELECT * FROM ( SELECT * FROM 表名 ORDER BY 排序…

Kubernetes(k8s) 增量更新 po

文章目錄前言k8s 增量更新 po1. 導出要新建po 的控制器配置2. 配置詳解3. 重新生效前言 如果您覺得有用的話&#xff0c;記得給博主點個贊&#xff0c;評論&#xff0c;收藏一鍵三連啊&#xff0c;寫作不易啊^ _ ^。 ??而且聽說點贊的人每天的運氣都不會太差&#xff0c;實在…

基于stm32的車輛安全駕駛預警系統

若該文為原創文章&#xff0c;轉載請注明原文出處。一、 項目背景與引言(一) 研究背景及意義道路交通安全是全球性的重大公共安全問題。據統計&#xff0c;絕大多數交通事故源于駕駛員的危險狀態&#xff08;疲勞、分心、健康突發狀況&#xff09;和危險駕駛行為&#xff08;超…

React學習教程,從入門到精通, React 新創建組件語法知識點及案例代碼(11)

React 新創建組件語法知識點及案例代碼 React 是由 Facebook 開發的一個用于構建用戶界面的 JavaScript 庫。隨著 React 的不斷發展&#xff0c;創建組件的方式也在不斷演進。本文將詳細介紹 React 中創建組件的最新語法&#xff0c;包括函數組件&#xff08;Functional Compo…

SQL Server全鏈路安全防護

SQL Server 的安全性是一個多層次、綜合性的體系&#xff0c;旨在保護數據免受未授權訪問、篡改和泄露。其核心安全機制可概括為以下幾個方面&#xff1a;1. 身份驗證&#xff08;Authentication&#xff09; Windows 身份驗證&#xff1a; 使用 Windows 賬戶&#xff08;域/本…

如何利用Web3提升企業競爭力

在這個信息爆炸的時代&#xff0c;Web3技術以其獨特的去中心化、透明性和用戶主權特性&#xff0c;成為企業提升競爭力的新戰場。本文將深入探討企業如何把握Web3的浪潮&#xff0c;實現業務的飛躍。 1. 把握Web3的核心價值 Web3的核心在于去中心化、透明性和用戶主權。這種模式…

HOW - 在瀏覽器下載一個 Excel 表格文件

文章目錄一、技術方案二、前端具體實現代碼分析轉換邏輯注意事項一、技術方案 后臺返回 base64 數據 {code: 0,data: "base64;...", }前端進行數據格式轉化并下載成 Excel 文件 這篇文章主要介紹第二個步驟的實現。 二、前端具體實現 代碼 src/utils/transform…

【Android】Room數據庫的使用

三三要成為安卓糕手 引入 Room是一個抽象層&#xff0c;對SQLite進行了封裝&#xff0c;簡化了SQLite數據庫的操作&#xff0c;讓開發者能以更加對象化的方式進行數據庫操作&#xff1b;Room解決了SQLite操作繁瑣&#xff0c;容易產生錯誤的問題&#xff0c;讓開發者能以更加對…

Next.js 介紹:為什么選擇它來構建你的下一個 Web 應用?

Next.js 介紹&#xff1a;為什么選擇它來構建你的下一個 Web 應用&#xff1f; 作者&#xff1a;碼力無邊你好&#xff0c;歡迎來到我們的 Next.js 專欄&#xff01;在接下來的 30 篇文章中&#xff0c;我們將一起踏上一段從入門到精通的旅程&#xff0c;深入探索這個強大而優雅…

開發環境 之 編輯器、編譯器、IDE梳理

小生第一次學習編程時&#xff0c;懵懵搞不懂編輯器、編譯器、IDE區別&#xff0c;雖然這對前期學習編程語言語法的影響不是很大&#xff0c;但是現在梳理一下&#xff0c;總歸心里踏實些。 一、概念及區別 IDE是前面幾者的集成&#xff0c;前面幾個分別是IDE的子集。對比維度編…