博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Leetcode 74 Search a 2D matrix
阅读量:5255 次
发布时间:2019-06-14

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

Q: 

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.

A: binary search

 

public class Solution {    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 + 1 < end){            int mid = start + (end - start) / 2;            if (matrix[mid / n][mid % n] == target){                return true;            }else if (matrix[mid / n][mid % n] < target){                start = mid;            }else{                end = mid;            }        }        if (matrix[start / n][start % n] == target) return true;        else if (matrix[end / n][end % n] == target) return true;        else return false;    }}

  

转载于:https://www.cnblogs.com/nobody2somebody/p/5146250.html

你可能感兴趣的文章
如何设置映射网络驱动器的具体步骤和方法
查看>>
ASP.NET WebApi 基于OAuth2.0实现Token签名认证
查看>>
283. Move Zeroes把零放在最后面
查看>>
Visual Studio Code 打开.py代码报Linter pylint is not installed解决办法
查看>>
Python 数据类型
查看>>
S5PV210根文件系统的制作(一)
查看>>
centos下同时启动多个tomcat
查看>>
slab分配器
查看>>
数据清洗
查看>>
【读书笔记】C#高级编程 第三章 对象和类型
查看>>
针对sl的ICSharpCode.SharpZipLib,只保留zip,gzip的流压缩、解压缩功能
查看>>
【转】代码中特殊的注释技术——TODO、FIXME和XXX的用处
查看>>
【SVM】libsvm-python
查看>>
Jmeter接口压力测试,Java.net.BindException: Address already in use: connect
查看>>
Leetcode Balanced Binary Tree
查看>>
Leetcode 92. Reverse Linked List II
查看>>
九.python面向对象(双下方法内置方法)
查看>>
go:channel(未完)
查看>>
[JS]递归对象或数组
查看>>
LeetCode(17) - Letter Combinations of a Phone Number
查看>>