LeetCode Hot100 74.搜索二維矩陣

題目

給你一個滿足下述兩條屬性的?m x n?整數矩陣:

  • 每行中的整數從左到右按非嚴格遞增順序排列。
  • 每行的第一個整數大于前一行的最后一個整數。

給你一個整數?target?,如果?target?在矩陣中,返回?true?;否則,返回?false?。

方法:該二維矩陣可以看作一個有序的一維數組,然后用二分查找。關鍵是二維數組的[ i ][ j ]如何轉換成一維數組的[ k ]?

class Solution {public boolean searchMatrix(int[][] matrix, int target) {int m = matrix.length, n = matrix[0].length;int left = 0, right = m * n - 1;while(left <= right){int mid = left + (right - left) / 2;int x = matrix[mid / n][mid % n];//重點if(x < target)left = mid + 1;else if(x > target)right = mid - 1;elsereturn true;}return false;}
}

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

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

相關文章

數據結構——堆的實現

堆的實現-----C語言版 目錄&#xff1a;一、堆的實現1.1堆的定義1.2堆的實現1.2.1堆的各個接口1.2.2堆的向上調整1.2.3堆的向下調整1.2.4堆的定義聲明和初始化1.2.5堆的數據處理1.2.6堆的判空和堆的數據個數以及堆銷毀1.2.7堆的代碼實現 二、TOP—K問題 目錄&#xff1a; 一、…

C++ 文件和流、異常處理、動態內存、預處理器

一、C文件和流&#xff1a; 在C中進行文件處理&#xff0c;需要包含頭文件<iostream>和<fstream>。fstream標準庫定義的三個新的數據類型&#xff1a; 數據類型 描述 ofstream 該數據類型表示輸出文件流&#xff0c;用于創建文件并向文件寫入信息。 ifstream …

vscode項目推送到git

1、打開項目文件 打開文件后點擊vs code左側工具欄中第三個源代碼管理圖標&#xff0c;點擊初始化倉庫&#xff0c;此時會創建一個本地倉庫會檢查該項目中的文件變更 2、創建遠程倉庫 點擊克隆/下載&#xff0c;復制HTTPS地址 3、添加遠程地址 1&#xff09;圖形化操作 2…

Leetcode刷題之用隊列實現棧(C語言版)

Leetcode刷題之用隊列實現棧&#xff08;C語言版&#xff09; 一、題目描述二、題目要求三、題目示例四、題目解析Ⅰ、MyStack* myStackCreateⅡ、void myStackPush(MyStack* obj, int x)Ⅲ、int myStackPop(MyStack* obj)Ⅳ、int myStackTop(MyStack* obj)Ⅴ、bool myStackEmp…

文件夾重命名:徹底擺脫數字困擾,批量修改文件夾名去除數字

在日常生活和工作中&#xff0c;經常會遇到需要修改文件夾名稱的情況。有時候是因為文件夾名稱中包含了數字&#xff0c;有時候是因為文件夾名稱不符合規范。無論出于什么原因&#xff0c;修改文件夾名稱都是一件非常繁瑣的事情。尤其是需要修改大量文件夾名稱時&#xff0c;手…

Jenkins 整合 Docker 自動化部署

Docker 安裝 Jenkins 配置自動化部署 1. Docker 安裝 Jenkins 1.1 拉取鏡像文件 docker pull jenkins/jenkins1.2 創建掛載文件目錄 mkdir -p $HOME/jenkins_home1.3 啟動容器 docker run -d -p 8080:8080 -v $HOME/jenkins_home:/var/jenkins_home --name jenkins jenkin…

CentOS rpm安裝Nginx和配置

CentOS rpm安裝Nginx和配置 官方下載地址: http://nginx.org/en/download.html 介紹 Nginx(“engine x”)是一款由俄羅斯的程序設計師Igor Sysoev所開發高性能的 Web和 反向代理 服務器&#xff0c;也是一個 IMAP/POP3/SMTP 代理服務器。 rpm包安裝 #安裝nginx&#xff0c…

k8s部署的java服務查看連接nacos緩存的配置文件

一、問題描述 k8s部署的java服務&#xff0c;使用nacos中的配置文件&#xff0c;需要在緩存中查看該服務具體是使用到了哪些配置文件 二、解決 參考文檔: https://nacos.io/zh-cn/docs/system-configurations.html 文檔描述如下: 進入java服務容器進入用戶目錄下的nacos&a…

4-Docker命令之docker version

1.docker version介紹 docker version命令是用于查看docker容器的版本信息 2.docker version用法 docker version [參數] [root@centos79 ~]# docker version --helpUsage: docker version [OPTIONS]Show the Docker version informationOptions:-f, --format string Fo…

Android 12.0 mt6771新增分區功能實現四

1.前言 在12.0的系統rom開發中,在對某些特殊模塊中關于數據的存儲方面等需要新增分區來保存, 所以就需要在系統分區新增分區,接下來就來實現這個功能,看第四部分的新增分區的實現過程 2.mt6771新增分區功能實現四的核心類 device/mediatek/mt6771/ueventd.mt6771.rcdevice…

Java枚舉詳解

一、什么是枚舉類型 枚舉類型是一種特殊的數據類型&#xff0c;用于定義一組固定的命名常量。枚舉類型提供了一種更強大、更安全和更易讀的方式來表示一組相關的常量。 在Java中&#xff0c;枚舉類型是通過使用enum關鍵字來定義的。枚舉類型可以包含一個或多個枚舉常量&#xf…

常見狀態碼總結

常見狀態碼總結 2xx 200 OK&#xff1a;表示服務器成功處理了客戶端的請求&#xff0c;并返回所請求的數據。這是最常見的狀態碼&#xff0c;表示一切正常。201 Created&#xff1a;表示服務器成功處理了客戶端的 POST 請求&#xff0c;并在服務器上創建了新的資源。204 No C…

vue005——vue組件入門(非單文件組件和單文件組件)

一、非單文件組件 1.1、單文件組件的使用 1.1.1、局部注冊 1、第一步&#xff1a;創建school組件 2、第二步&#xff1a;注冊組件&#xff08;局部注冊&#xff09; 3、第三步&#xff1a;使用組件&#xff08;編寫組件標簽&#xff09; <!DOCTYPE html> <html>…

設計模式—里氏替換原則

1.概念 里氏代換原則(Liskov Substitution Principle LSP)面向對象設計的基本原則之一。 里氏代換原則中說&#xff0c;任何基類可以出現的地方&#xff0c;子類一定可以出現。 LSP是繼承復用的基石&#xff0c;只有當衍生類可以替換掉基類&#xff0c;軟件單位的功能不受到影…

Spring注解方式整合第三方框架

目錄 Spring整合MyBatis 原有xml方式整合配置如下 注解方式&#xff1a; Import可以導入如下三種類 第三方框架是指由其他開發者或團隊開發的軟件模塊或庫&#xff0c;供開發者在自己的應用程序中使用。這些框架通常提供了一系列已經封裝好的功能或工具&#xff0c;可節省開…

使用flask返回json格式的數據

Flask Flask是一個使用Python編寫的輕量級Web框架&#xff0c;它的設計理念是保持簡單、靈活和易擴展。它的核心是Werkzeug和Jinja2&#xff0c;并且它本身只提供了非常基礎的Web框架功能&#xff0c;例如路由和請求處理等。 使用Flask可以快速創建一個Web應用程序&#xff0c;…

跳躍游戲Ⅱ[中等]

優質博文&#xff1a;IT-BLOG-CN 一、題目 給定一個長度為n的0索引整數數組nums。初始位置為nums[0]。每個元素nums[i]表示從索引i向前跳轉的最大長度。換句話說&#xff0c;如果你在nums[i]處&#xff0c;你可以跳轉到任意nums[i j]處: 0 < j < nums[i] i j < n …

【Python 訓練營】N_8 打印阿姆斯特朗數

題目 輸入一個數&#xff0c;判斷是否為阿姆斯特朗數&#xff0c;阿姆斯特朗數指一個n位正整數等于其各位數字的n次方之和。其中n為3時是水仙花數。 分析 利用循環&#xff0c;獲取數的長度&#xff0c;根據長度和定義&#xff0c;拆分出來運算 答案 while True:n int(in…

【Python 訓練營】N_7 打印水仙花數

題目 打印出1000以內所有的"水仙花數"&#xff0c;所謂"水仙花數"是指一個三位數&#xff0c;其各位數字立方和等于該數本身。例如&#xff1a;153是一個"水仙花數"&#xff0c;因為1531的三次方&#xff0b;5的三次方&#xff0b;3的三次方。 …

數學啟發式

學習資料&#xff1a; 優化求解器 | Gurobi 數學啟發式算法&#xff1a;參數類型與案例實現 數學啟發式算法 | 可行性泵 (Feasibility Pump)算法精講&#xff1a;一份讓您滿意的【理論介紹編程實現數值實驗】學習筆記(PythonGurobi實現) 大佬到底是大佬&#xff01;這些資料太…