力扣 74. 搜索二维矩阵

news/2025/1/12 15:30:13/

🔗 https://leetcode.cn/problems/search-a-2d-matrix

题目

  • 给一个二维矩阵,保证数字在每行从左到右都是非严格递增
  • 每一行的第一个数字大于上一行最后一个数字
  • 给一个 target,判断是否存在在二维矩阵

思路

  • 先 binary search 定位到行,再 binary search 定位到列

代码

class Solution {
public:bool searchMatrix(vector<vector<int>>& matrix, int target) {int m = matrix.size();int n = matrix[0].size();int x, y, xx, yy;x = 0; y = 0; xx = m - 1; yy = n - 1;int mid_x = (x + xx) / 2;while (x <= xx) {mid_x = (x + xx) / 2;if (matrix[mid_x][n - 1] < target) {x = mid_x + 1;}if (matrix[mid_x][0] > target) {xx = mid_x - 1;}if (matrix[mid_x][0] <= target && matrix[mid_x][n - 1] >= target)break;}if (matrix[mid_x][0] > target || matrix[mid_x][n - 1] < target) return false;int mid_y = (y + yy) / 2;while (y <= yy) {int mid_y = (y + yy) / 2;if (matrix[mid_x][mid_y] == target) return true;if (matrix[mid_x][mid_y] < target) {y = mid_y + 1;} else {yy = mid_y - 1;}  }return false;}
};

http://www.ppmy.cn/news/1562544.html

相关文章

后端Java开发:第十三天

第十三天&#xff1a;继承 - 面向对象的核心概念 欢迎来到第十三天的学习&#xff01;今天&#xff0c;我们将深入探讨 Java 中的 继承&#xff08;Inheritance&#xff09;&#xff0c;这是面向对象编程的四大基本特性之一。继承是指一个类&#xff08;子类&#xff09;通过继…

可视化-Visualization

可视化-Visualization 1.Introduction Visualization in Open CASCADE Technology is based on the separation of: on the one hand – the data which stores the geometry and topology of the entities you want to display and select, andon the other hand – its pr…

【C++/控制台】2048小游戏

源代码&#xff1a; #include <iostream> #include <windows.h> #include <stdio.h> #include <math.h> #include <stdlib.h> #include <conio.h> #include <time.h>// #define KEY_DOWN(VK_NONAME) ((GetAsyncKeyState(VK_NONAME)…

VSCode Live Server 插件安装和使用

VSCode Live Server是一个由Ritwick Dey开发的Visual Studio Code扩展插件&#xff0c;它提供了一个带有实时重载功能的本地开发服务器。在VSCode中安装和使用Live Server插件进行实时预览和调试Web应用程序。这将大大提高前端开发效率&#xff0c;使网页设计和开发变得更为流畅…

rabbitmq的三个交换机及简单使用

提前说一下&#xff0c;创建队列&#xff0c;交换机&#xff0c;绑定交换机和队列都是在生产者。消费者只负责监听就行了&#xff0c;不用配其他的。 完成这个场景需要两个服务哦。 1直连交换机-生产者的代码。 在配置类中创建队列&#xff0c;交换机&#xff0c;绑定交换机…

如何轻松反转C# List<T>中的元素顺序

在C#中&#xff0c;有多种方法可以反转 List<T> 的元素顺序。以下是几种常见的方法&#xff1a; 方法一&#xff1a;使用 List<T>.Reverse 方法 List<T> 类提供了一个内置的 Reverse 方法&#xff0c;可以就地反转列表中的元素顺序。 using System; using…

elasticsearch常见故障汇总

es的入库突然出现异常&#xff0c;大量超时 查看集群状态&#xff0c;状态为红色 GET _cluster/health 具体查看&#xff0c;实体&#xff0c;看看是那些索引状态异常&#xff0c;看到wb_info_2025-01-08索引状态异常 GET _cat/indices?v 注&#xff1a;其他上面的步骤可以在…

5种IO模型

目录 一、认识IO二、5种IO模型三、非阻塞IO代码 一、认识IO 什么是IO&#xff1f; Input(输入)和Output(输出)。 冯诺依曼体系结构中&#xff0c;数据从输入设备拷贝到内存&#xff0c;经过处理后&#xff0c;再从内存拷贝到输出设备。现实情况中&#xff0c;数据并不是那么流…