搜索二维矩阵

搜索二维矩阵

给你一个满足下述两条属性的 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
}
相关推荐
做cv的小昊16 小时前
【TJU】应用统计学——第五周作业(3.1 假设检验的基本思想、3.2 单个正态总体参数的假设检验)
学习·线性代数·机器学习·数学建模·矩阵·概率论·tju
Hello.Reader17 小时前
为什么学线性代数(一)
线性代数·算法·机器学习
书中玉17 小时前
矩阵行最简形唯一
线性代数·矩阵·行最简形
kyle~19 小时前
工程数学---Eigen库(C++唯一标配线性代数库)
开发语言·c++·线性代数
披着羊皮不是狼19 小时前
矩阵乘加速@CPU
线性代数·矩阵
Hello.Reader20 小时前
什么是线性代数(二)
线性代数
kyle~21 小时前
工程数学---机器人变化矩阵求解
网络·矩阵·机器人
6Hzlia1 天前
【Hot 100 刷题计划】 LeetCode 48. 旋转图像 | C++ 矩阵变换题解
c++·leetcode·矩阵
star learning white2 天前
线性代数1
线性代数
网域小星球2 天前
C语言从0入门(十)|二维数组详解与矩阵实战
c语言·算法·矩阵·二维数组·数组遍历