leetcode240. 搜索二維矩陣 II

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

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

現有矩陣 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。

給定?target?=?20,返回?false。

思路:

從左下角開始搜索

如果當前值大于目標值:因為當前行右邊都大于當前值,故當前行右邊都大于目標值,排除當前行,向上搜索

如果當前值小于目標值:因為當前列上邊都小于當前值,故當前列上邊都小于目標值,排除當前列,向右搜索

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

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

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

相關文章

NAT原理

網絡地址轉換(NAT,Network Address Translation)屬接入廣域網(WAN)技術&#xff0c;是一種將私有&#xff08;保留&#xff09;地址轉化為合法IP地址的轉換技術。下面介紹兩類不同方式實現的NAT&#xff1a;NAT(Network Address Translators)&#xff1a;稱為基本的NAT在客戶機…

推薦系統(2)-協同過濾1-UserCF、ItemCF

協同過濾1.CF概述2.數據表示3.衡量相似度4.共現矩陣5.UserCF6.ItemCF7.UserCF 與ItemCF 應用場景、主要缺陷8.基于UserCF 電影推薦demo《深度學習/推薦系統》讀書筆記推薦系統的發展一日千里 傳統的推薦模型(2010年前后)&#xff1a;協同過濾、羅輯回歸、因子分解、梯度提升樹 …

sql查詢實例1(學生表_課程表_成績表_教師表)

表架構 Student(S#,Sname,Sage,Ssex) 學生表 Course(C#,Cname,T#) 課程表 SC(S#,C#,score) 成績表 Teacher(T#,Tname) 教師表 建表語句 CREATE TABLE student ( s# INT, sname nvarchar(32), sage INT, ssex nvarchar(8) ) CREATE TABLE course ( c# INT, cname…

android 存儲方式以及路徑簡介

存儲分成了內部存儲和外部存儲。注意內部存儲又叫做機身內存,而且內存又包含了兩個部分RAM(運行時內存,這個和運行速度有關系,是手機運行時存儲數據和指令的地方)、ROM(這個才算是真正存儲東西的內部存儲范圍,是應用配置和其他數據的地方);而外部存儲就很明確了,用戶的外部掛…

MachineLearning(11)-關聯規則分析

關聯規則分析1.簡單來說-關聯規則2.經典關聯規則挖掘-Apriori1.簡單來說-關聯規則 關聯規則–通過量化的數字描述物品甲的出現 對 物品乙的出現 有多大影響。 最早是為了發現超市銷售數據庫中不同的商品之間的關聯關系&#xff1a;哪組商品可能會在一次購物中同時購買。 廣泛…

APK 安卓反編譯

在學習Android開發的過程你&#xff0c;你往往會去借鑒別人的應用是怎么開發的&#xff0c;那些漂亮的動畫和精致的布局可能會讓你愛不釋手&#xff0c;作為一個開發者&#xff0c;你可能會很想知道這些效果界面是怎么去實現的&#xff0c;這時&#xff0c;你便可以對改應用的A…

sql查詢實例2(借書卡、圖書、借書記錄)

問題描述&#xff1a; 本題用到下面三個關系表&#xff1a; CARD 借書卡。 CNO 卡號&#xff0c;NAME 姓名&#xff0c;CLASS 班級 BOOKS 圖書。 BNO 書號&#xff0c;BNAME 書名,AUTHOR 作者&#xff0c;PRICE 單價&#xff0c;QUANTITY 庫存冊數 BORROW 借書記錄。 CNO 借…

開始學習Unity3D(一)

本人最近轉行開始做海外獨立游戲的發行,主要是負責服務器,開會注意到海外的服務越來越豐富越來越細分,對國內將會造成很大的沖擊,比如AWS,Google,GameSparks等,這導致國內的所謂服務器開發將越來越簡單,國內對服務器開發的需求越來越少,反而客戶端的需求越來越多,所以…

List 流的使用

摘要 本文將介紹在 Java 1.8 中對 List 進行流操作的使用方法。引入的 java.util.stream 包為開發者提供了一種更為便捷和強大的方式來處理集合數據。通過使用流&#xff0c;我們能夠以聲明性的方式進行集合操作&#xff0c;減少了樣板代碼&#xff0c;提高了代碼的可讀性和可…

推薦系統(3)-協同過濾2-矩陣分解算法

協同過濾-矩陣分解算法1.奇異值分解2.梯度下降3.矩陣分解方法的優缺點《深度學習/推薦系統》讀書筆記&#xff08;其實矩陣分解和協同過濾已經沒有特別大的聯系了&#xff09; 2006年&#xff0c;在Netfilx舉辦的推薦算法競賽中Netflix Prize Challenge中&#xff0c;以矩陣分解…

leetcode141 環形鏈表

給定一個鏈表&#xff0c;判斷鏈表中是否有環。 為了表示給定鏈表中的環&#xff0c;我們使用整數 pos 來表示鏈表尾連接到鏈表中的位置&#xff08;索引從 0 開始&#xff09;。 如果 pos 是 -1&#xff0c;則在該鏈表中沒有環。 示例 1&#xff1a; 輸入&#xff1a;head …

iPhoneX適配

目錄(?)[-]核心代碼自動化修改代碼參考資料iPhoneX適配&#xff0c;比較搓的一種方式&#xff0c;在不修改分辨率&#xff08;720 x 1280&#xff09;的情況下適配iphone X 主屏尺寸&#xff1a; 5.8英寸 主屏分辨率&#xff1a; 2436 x 1125核心代碼修改 工程目錄/Classes/Un…

centos安裝nginx,配置負載均衡

&#xfeff;&#xfeff;1、安裝nginx安裝教程&#xff0c;參照&#xff1a;http://mp.weixin.qq.com/s/RVaRlRpHqZRjCaXGmOlfKw 2、反向代理的配置修改部署目錄下conf子目錄的nginx.conf文件的內容[html]view plaincopylocation / { #設置主機頭和客戶端真實地…

leetcode142 環形鏈表II

給定一個鏈表&#xff0c;返回鏈表開始入環的第一個節點。 如果鏈表無環&#xff0c;則返回 null。 為了表示給定鏈表中的環&#xff0c;我們使用整數 pos 來表示鏈表尾連接到鏈表中的位置&#xff08;索引從 0 開始&#xff09;。 如果 pos 是 -1&#xff0c;則在該鏈表中沒有…

PaperNotes(18)-VectorNet- Encoding HD Maps and Agent Dynamics from Vectorized Representation

自動駕駛論文閱讀筆記11. Ployline Garph2. Global Graph3. 模型目標函數4.Related work5.Experiment5.1 實驗設置5.2 消融實驗5.3 模型資源消耗5.4 與其他模型的對比實驗VectorNet- Encoding HD Maps and Agent Dynamics from Vectorized RepresentationVectorNet: 通過矢量化…

ubuntu的apache配置https

&#xfeff;&#xfeff;一、配置Apache 1、開啟SSL模塊a2enmod ssl 2、啟用SSL站點a2ensite default-ssl 3、加入監聽端口vi /etc/apache2/ports.conf #編輯Apache端口配置&#xff0c;加入443端口 Listen 443注&#xff1a;Ubuntu啟用SSL站點后&#xff0c;缺省已經加入了 (…

vim特別好的教程

歡 迎 閱 讀 《 V I M 教 程 》 —— 版本 1.7 Vim 是一個具有很多命令的功能非常強大的編輯器。限于篇幅&#xff0c;在本教程當中 就不詳細介紹了。本教程的設計目標是講述一些必要的基本命令&#xff0c;而掌握好這 些命令&#x…

jquery、javascript實現(get、post兩種方式)跨域解決方法

&#xfeff;&#xfeff;jquery、javascript實現(get、post兩種方式)跨域解決方法一、實現get方式跨域請求數據瀏覽器端<script> $(document).ready(function(){$.ajax({url: "http://www.xxx.cn/index.php",type: "get",dataType: "jsonp&quo…

推薦系統(4)-邏輯回歸LR、POLY2、FM、FFM

邏輯回歸LR、POLY2、FM、FFM1.邏輯回歸LR2.辛普森悖論3.POLY24.FM-20105.FFM6.GBDTLR-20147.LS-PLM-2017《深度學習/推薦系統》讀書筆記1.邏輯回歸LR Logistic Regression – 融合多種特征&#xff0c;通過sigmoid 函數&#xff0c;預測樣本的被點擊的概率。樣本用特征向量x[x…

leetcode125驗證回文串

給定一個字符串&#xff0c;驗證它是否是回文串&#xff0c;只考慮字母和數字字符&#xff0c;可以忽略字母的大小寫。 說明&#xff1a;本題中&#xff0c;我們將空字符串定義為有效的回文串。 示例 1: 輸入: "A man, a plan, a canal: Panama" 輸出: true 示例 …