剑指offer-特定二维数组中查找一个元素是否存在-二分搜索-二维数组
Posted 多情剑客无情剑;
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了剑指offer-特定二维数组中查找一个元素是否存在-二分搜索-二维数组相关的知识,希望对你有一定的参考价值。
int [][] array ={
{1,2,8,9},
{2,4,9,12},
{4,7,10,13},
{6,8,11,19}
};
在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
public class Solution {
public static boolean Find(int target, int [][] array) {
int M = array.length;
int N = array[0].length;
int i=M-1,j=0;
while(i>=0 && j<N){
if(target == array[i][j])
return true;
if(target< array[i][j])
{i--;continue;}
if(target> array[i][j])
{j++;continue;}
}
return false;
}
public static void main(String[] args){
int [][] array ={
{1,2,8,9},
{2,4,9,12},
{4,7,10,13},
{6,8,11,19}
};
System.out.println(Find(-1,array));
}
}
暴力解法也通过了,但是这个时间复杂度为n方 , 上面的那个时间复杂度
*****************************************************************************
错误解法
以上是关于剑指offer-特定二维数组中查找一个元素是否存在-二分搜索-二维数组的主要内容,如果未能解决你的问题,请参考以下文章