首页 > 代码库 > 剑指offer-特定二维数组中查找一个元素是否存在-二分搜索-二维数组
剑指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-特定二维数组中查找一个元素是否存在-二分搜索-二维数组
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。