博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
LeetCode——Search a 2D Matrix
阅读量:6637 次
发布时间:2019-06-25

本文共 962 字,大约阅读时间需要 3 分钟。

Write an efficient algorithm that searches for a value in an m x n matrix. This matrix has the following properties:

  • Integers in each row are sorted from left to right.
  • The first integer of each row is greater than the last integer of the previous row.

For example,

Consider the following matrix:

[  [1,   3,  5,  7],  [10, 11, 16, 20],  [23, 30, 34, 50]]

Given target = 3, return true.

原题链接:https://oj.leetcode.com/problems/search-a-2d-matrix/

题目:在m * n 的矩阵中查找目标值是否存在。

比較好的办法就是二分查找。即将矩阵总体看成一个数组来处理。

public boolean searchMatrix(int[][] matrix, int target) {		if(matrix == null || matrix.length == 0 || matrix[0].length == 0)			return false;		int m = matrix.length;		int n = matrix[0].length;		int start = 0;		int end = m * n - 1;		while (start <= end) {			int mid = (start + end) / 2;			int x = mid / n;			int y = mid % n;			if (matrix[x][y] == target)				return true;			if (matrix[x][y] < target)				start = mid + 1;			else				end = mid - 1;		}		return false;	}

转载地址:http://jrivo.baihongyu.com/

你可能感兴趣的文章
Linux基础命令---mirror获取ftp目录
查看>>
第二部分 OpenStack安装与配置
查看>>
修改SQL数据库中表字段类型时,报“一个或多个对象访问此列”错误的解决方法...
查看>>
FIND的使用方法
查看>>
我的友情链接
查看>>
实现nfs和samba的自动挂载
查看>>
一步一步使用Ext JS MVC与Asp.Net MVC 3开发简单的CMS后台管理系统之创建输出验证码图片的控制器...
查看>>
Js实现找出字符串中出现次数最多的字符
查看>>
我的友情链接
查看>>
飞信批处理应用--每日定时发送天气预报及消息
查看>>
一个神秘的一句话后门代码详解
查看>>
开始→运行→输入的命令集锦
查看>>
sqlserver导出带数据的脚本
查看>>
查看端口与服务的对应关系
查看>>
Web中播放Flash
查看>>
windows server2012R2 数据库的还原
查看>>
[LINUX-操作系统]pc机上安装Enterprise Linux操作系统,无法启动图形界面
查看>>
squid 配置文件详解
查看>>
linux下httpd服务阶段实验
查看>>
常用的DOS命令和运行命令总结(不常用的不介绍,节省学习时间成本)【高手请绕道】...
查看>>