搜索二维矩阵

搜索二维矩阵

给你一个满足下述两条属性的 m x n 整数矩阵:

  • 每行中的整数从左到右按非严格递增顺序排列。
  • 每行的第一个整数大于前一行的最后一个整数。

给你一个整数 target ,如果 target 在矩阵中,返回 true ;否则,返回 false

示例 1:

复制代码
输入:matrix = [[1,3,5,7],[10,11,16,20],[23,30,34,60]], target = 3
输出:true

示例 2:

复制代码
输入:matrix = [[1,3,5,7],[10,11,16,20],[23,30,34,60]], target = 13
输出:false

题解:

​ 将矩阵的拼接成一个升序数组即可

go 复制代码
func searchMatrix(matrix [][]int, target int) bool {
	m, n := len(matrix), len(matrix[0])
	l, r := 0, m*n-1
	for l <= r {
		// mid := (r-l)/2 + l
        mid := (l + r) / 2
		x := matrix[mid/n][mid%n]
		if x < target {
			l = mid + 1
		} else if x > target {
			r = mid - 1
		} else {
			return true
		}
	}
	return false
}
相关推荐
Mr_pyx6 小时前
LeetCode HOT 100 —— 矩阵置零(多种解法详解)
算法·leetcode·矩阵
YuanDaima20486 小时前
矩阵基础原理与题目说明
人工智能·笔记·python·学习·线性代数·矩阵
我真不是小鱼7 小时前
cpp刷题打卡记录29——矩阵置零 & 旋转图像 & 除了自身以外数组的乘积
数据结构·c++·算法·leetcode·矩阵
脱氧核糖核酸__9 小时前
LeetCode热题100——240.搜索二维矩阵 II(题目+题解+答案)
c++·算法·leetcode·矩阵
代码改善世界1 天前
【MATLAB初阶】矩阵操作(一)
开发语言·matlab·矩阵
西西弗Sisyphus1 天前
PyTorch 里的矩阵乘法
pytorch·矩阵·matmul·torch.mm·bmm
脱氧核糖核酸__1 天前
LeetCode热题100——73.矩阵置零(题目+题解+答案)
c++·算法·leetcode·矩阵
脱氧核糖核酸__1 天前
LeetCode热题100——54.螺旋矩阵(题解+答案+要点)
c++·算法·leetcode·矩阵
xiaotao1311 天前
01-编程基础与数学基石:线性代数
人工智能·python·线性代数
小辉同志2 天前
74. 搜索二维矩阵
c++·leetcode·矩阵·二分查找