力扣 74. 搜索二维矩阵

server/2025/1/11 20:29:52/

🔗 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/server/157570.html

相关文章

WebRTC 的优缺点详细解析

在当今数字化浪潮中&#xff0c;WebRTC技术凭借其独特优势&#xff0c;在众多联网平台中得以广泛应用&#xff0c;为实时通信带来了革命性变化。然而&#xff0c;如同任何技术一样&#xff0c;它也并非十全十美&#xff0c;存在着一些有待攻克的短板。 一、WebRTC的优点 卓越…

大模型RAG面试内容有哪些?(附面试资料合集)

在面试涉及大模型RAG&#xff08;Retrieval-Augmented Generation&#xff09;的职位时&#xff0c;以下是一些常见的面试内容和问题&#xff1a; 技术知识 RAG的基本概念和工作原理&#xff1a;解释RAG系统的主要部分及其如何协同工作。检索技术&#xff1a;了解常见的检索方…

Vue sm3国密 IE模式报错处理

1、sm-crypto 转义错误 查看报错信息包名 在vue.config.js的transpileDependencies中把依赖包添加进去&#xff0c;让babel能够转译sm-crypto包 babel.config.js module.exports {presets: [[vue/app, {useBuiltIns: entry}]] }2、exports.destroy (() &#xff1e; { … }&a…

微信原生小程序自定义封装组件(以导航navbar为例)

封装 topnav.js const App getApp(); Component({// 组件的属性列表properties: {pageName: String, //中间的titleshowNav: { //判断是否显示左上角的按钮 type: Boolean,value: true},showHome: { //判断是否显示左上角的home按钮type: Boolean,value: true},showLocat…

TypeScript语言的软件工程

TypeScript语言的软件工程实践 引言 在现代软件工程中&#xff0c;编程语言的选择对项目的成功至关重要。近年来&#xff0c;JavaScript凭借其在Web开发中的广泛应用取得了巨大成功。然而&#xff0c;随着Web应用程序的复杂性不断增加&#xff0c;开发者渐渐发现纯JavaScript…

RT-DETR代码详解(官方pytorch版)——参数配置(1)

前言 RT-DETR虽然是DETR系列&#xff0c;但是它的代码结构和之前的DETR系列代码不一样。 它是通过很多的yaml文件进行参数配置&#xff0c;和之前在train.py的parser argparse.ArgumentParser()去配置所有参数不同&#xff0c;所以刚开始不熟悉代码的时候可能不知道在哪儿修…

类静态成员的相关内容

问&#xff1a;类静态成员能否在类的构造函数/类的非静态函数中初始化&#xff1f; 答&#xff1a;不能 class requestData {public:requestData(int fd_,int epoll_fd_);~requestData();static std::unordered_map<std::string,std::string> header_map;static int d;…

网站自动签到

我研究生生涯面临两个问题&#xff0c;一是写毕业论文&#xff0c;二是找工作&#xff0c;这两者又有很大的冲突。怎么解决这两个冲突呢&#xff1f;把python学好是一个路子&#xff0c;因此从今天我要开一个专栏就是学python 其实我的本意不是网站签到&#xff0c;我喜欢在起点…