搜索二维矩阵

搜索二维矩阵

给你一个满足下述两条属性的 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
}
相关推荐
醒过来摸鱼16 小时前
9.11 傅里叶变换家族介绍
线性代数·算法·概率论
醒过来摸鱼16 小时前
9.8 贝塞尔曲线
线性代数·算法·numpy
xier_ran1 天前
Python 切片(Slicing)完全指南:从基础到多维矩阵
开发语言·python·矩阵
lijil1681 天前
Hypermesh估算发动机缸体质量矩阵
线性代数·矩阵
FanXing_zl2 天前
快速掌握线性代数:核心概念与深度解析
线性代数·算法·机器学习
点云SLAM2 天前
四元数 (Quaternion)微分-四元数导数的矩阵表示推导(8)
线性代数·算法·计算机视觉·矩阵·机器人·slam·四元数
西西弗Sisyphus2 天前
四元数(Quaternion)、叉积(Cross Product)与点积(Dot Product)之间的关系
线性代数·机器学习·行列式·叉积·点积·四元数
YaraMemo2 天前
对称/Hermitian矩阵相关记号
线性代数·5g·矩阵·信息与通信
ChoSeitaku2 天前
线代强化NO7|秩|矩阵的秩|向量组的秩|极大线性无关组|公式
线性代数·矩阵·概率论
不穿格子的程序员3 天前
从零开始写算法——二分-搜索二维矩阵
线性代数·算法·leetcode·矩阵·二分查找