HOT21-搜索二维矩阵II

news/2024/10/31 4:17:08/

    leetcode原题链接: 搜索二维矩阵II

题目描述

    编写一个高效的算法来搜索 m x n 矩阵 matrix 中的一个目标值 target 。该矩阵具有以下特性:

  • 每行的元素从左到右升序排列。
  • 每列的元素从上到下升序排列。

示例 1:

输入: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

示例 2:

输入: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 = 20
输出:false

提示:

  • m == matrix.length
  • n == matrix[i].length
  • 1 <= n, m <= 300
  • -109 <= matrix[i][j] <= 109
  • 每行的所有元素从左到右升序排列
  • 每列的所有元素从上到下升序排列
  • -109 <= target <= 109

解题方法:二分查找。从表格的右上角开始查找,若当前值小于target ,则继续向下查找;若当前值大于target,则继续向左查找,直到查找到解为止。

C++代码

#include <iostream>
#include <vector>
class Solution {
public:bool searchMatrix(std::vector<std::vector<int>>& matrix, int target) {int n = matrix.size();//行数int m = matrix[0].size();//列数int i = 0; //第i+1行int j = m - 1;//第j+1列while (i < n && j >= 0) {if (target == matrix[i][j]) {return true;}else if (matrix[i][j] < target) { // 当前值小于target,则扩大搜索范围(向下)i++;} else { // 当前值大于target,则减少搜索范围j--;}}return false;}
};


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

相关文章

【转】VLAN原理详解

1.为什么需要VLAN 1.1 什么是VLAN&#xff1f; VLAN&#xff08;Virtual LAN&#xff09;&#xff0c;翻译成中文是“虚拟局域网”。LAN可以是由少数几台家用计算机构成的网络&#xff0c;也可以是数以百计的计算机构成的企业网络。VLAN所指的LAN特指使用路由器分割的网络——也…

VLAN

1.为什么需要VLAN 1.1 什么是VLAN&#xff1f; VLAN&#xff08;Virtual LAN&#xff09;&#xff0c;翻译成中文是“虚拟局域网”。LAN可以是由少数几台家用计算机构成的网络&#xff0c;也可以是数以百计的计算机构成的企业网络。VLAN所指的LAN特指使用路由器分割的网络——也…

[转载] VLAN原理解释

转自&#xff1a;http://www.cnblogs.com/xialei893/p/3723864.html 目录 -------------------------------------------------------------------------------- 1.为什么需要VLAN 2.实现VLAN的机制 3.VLAN的访问链接&#xff08;Access Link&#xff09; 4.VLAN的汇聚链接&…

非常详细的VLAN解析

.为什么需要VLAN 1.1 什么是VLAN&#xff1f; VLAN&#xff08;Virtual LAN&#xff09;&#xff0c;翻译成中文是“虚拟局域网”。LAN可以是由少数几台家用计算机构成的网络&#xff0c;也可以是数以百计的计算机构成的企业网络。VLAN所指的LAN特指使用路由器分割的网络——也…

vlan详解

1.为什么需要VLAN 1.1 什么是VLAN&#xff1f; VLAN&#xff08;Virtual LAN&#xff09;&#xff0c;翻译成中文是“虚拟局域网”。LAN可以是由少数几台家用计算机构成的网络&#xff0c;也可以是数以百计的计算机构成的企业网络。VLAN所指的LAN特指使用路由器分割的网络——也…

VLAN原理详解[转载] 网桥--交换机---路由器

来自&#xff1a;http://blog.csdn.net/phunxm/article/details/9498829 一、什么是桥接 桥接工作在OSI网络参考模型的第二层数据链路层&#xff0c;是一种以MAC地址来作为判断依据来将网络划分成两个不同物理段的技术&#xff0c;其被广泛应用于早期的计算机网络当中。 我们都…

[转] VLAN原理详解

VLAN原理详解 标签&#xff1a; VLANAccess-LinkTrunk-Link802.1QISL 2013-07-26 18:05 27901人阅读 评论(15) 收藏 举报 分类&#xff1a; 网络通信/流媒体&#xff08;30&#xff09; 目录(?)[] 1.为什么需要VLAN 1.1 什么是VLAN&#xff1f; VLAN&#xff08;Virtual LAN&…

网络基础知识

网络基础知识 1&#xff0c;无线-----&#xff08;1&#xff09;无线网络桥接&#xff1a; 中继&#xff1a;中继是两点间的一条传输信道&#xff0c;一对一 桥接&#xff1a;就是通过一台设备&#xff08;可能不止一个&#xff09;把几个网络串起来形成的连接 &#xff08;2&…