力扣——搜索二维矩阵

news/2025/2/24 13:40:59

题目链接:

链接

题目描述:

在这里插入图片描述

思路:

  1. 可以发现,如果把每一行拼起来,就是一个递增的数组,可以在这个递增的数组上使用二分法找到target
  2. 如果拼起来的某个元素索引是i,那它在二维矩阵里面的索引是【i/列数,i%列数】
  3. 所以在代码里不需要真正执行 拼起来 这个操作,知道i就行
  4. i是用二分法得到的索引,可以知道假设拼起来的数组索引范围是0~行数*列数-1

实现代码:

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

http://www.niftyadmin.cn/n/5864402.html

相关文章

【C++】list 链表的使用+模拟实现

目录 文章目录 前言 一、list的简介 二、list的使用方法 三、list的模拟实现 1.基本框架&#xff1a; 2.迭代器实现 3.常用接口实现 四、完整代码 总结 前言 本文主要介绍C【STL】容器中的 list&#xff0c;包括接口说明和模拟实现。其中讲解了迭代器功能上的分类&am…

哈希表入门到精通:从原理到 Python 实现全解析

系列文章目录 01-从零开始掌握Python数据结构&#xff1a;提升代码效率的必备技能&#xff01; 02-算法复杂度全解析&#xff1a;时间与空间复杂度优化秘籍 03-线性数据结构解密&#xff1a;数组的定义、操作与实际应用 04-深入浅出链表&#xff1a;Python实现与应用全面解析 …

如何在望获实时 Linux 京博航友善 NanoPC-T6 上部署 Docker

在数字化浪潮席卷各行业的当下&#xff0c;开发者们对于高效、稳定开发环境的追求从未停歇。望获实时 Linux 与京博航友善 NanoPC-T6 开发板的组合&#xff0c;为开发者们提供了一个强大的平台。本文将详细介绍如何在这套平台上部署 Docker 环境&#xff0c;助力开发者们快速构…

登录-07.JWT令牌-登录后下发令牌

一.思路 我们首先完成令牌生成。 在响应数据这一块 该响应数据是一个标准的Result结构&#xff0c;其中"data"的值就是一个JWT令牌。因此我们只需要将生成的JWT令牌封装在Result当中然后返回给前端即可。 备注是给前端看的&#xff0c;不用管。以后我们做校验时&…

便携式动平衡仪Qt应用层详细设计方案(基于Qt Widgets)

便携式动平衡仪Qt应用层详细设计方案&#xff08;基于Qt Widgets&#xff09; 版本&#xff1a;1.0 日期&#xff1a;2023年10月 一、系统概述 1.1 功能需求 开机流程&#xff1a;长按电源键启动&#xff0c;全屏显示商标动画&#xff08;快闪3~4次&#xff09;。主界面&…

NavVis VLX三维扫描:高层建筑数字化的革新力量【沪敖3D】

在三维激光扫描领域&#xff0c;楼梯结构因其复杂的空间形态和连续垂直移动的实际需求&#xff0c;一直是技术难点之一。利用NavVis VLX穿戴式移动扫描系统成功完成一栋34层建筑的高效扫描&#xff0c;其中楼梯部分的数据一遍成形且无任何分层或形变。本文将深入分析该项目的技…

python读取sqlite温度数据,并画出折线图

需求&#xff1a; 在Windows下请用python画出折线图&#xff0c;x轴是时间&#xff0c;y轴是温度temperature 和体感温度feels_like_temperature 。可以选择县市近1小时&#xff0c;近1天&#xff0c;近1个月的。sqlite文件weather_data.db当前目录下&#xff0c;建表结构如下…

【ubuntu24.04】pycharm安装pygraphviz

pip install pygraphviz 安装失败 (05_ep_dev) root@k8s-master-pfsrv:/home/zhangbin/perfwork/01_ai/05_ep_dev/expert/src/test/sumory# pip install pygraphviz Collecting pygraphviz Downloading pygraphviz-1.14.tar.gz (106 kB) Installing build dependencies … don…