码迷,mamicode.com
首页 > 编程语言 > 详细

【剑指offer】二维数组中的查找

时间:2017-04-06 09:37:20      阅读:132      评论:0      收藏:0      [点我收藏+]

标签:dex   targe   return   blog   数组   bounds   i++   排序   else   

题目描述

在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
 
注意点:要注意特殊情况的存在,比如数组为null,数组的长度为0等情况。
 1 public class Solution {
 2     public boolean Find(int target, int [][] array) {
 3         boolean result = false;
 4         if(array == null || array.length == 0) return false;
 5         for(int i = 0; i < array.length; i++){
 6             if(array[i] == null || array[i].length == 0) return false; //防止ArrayIndexOutOfBoundsException
 7             if(target >= array[i][0]){
 8                 result = BinaraySearch(target,array[i],0,array[i].length);
 9             }
10             if(result == true) return result;
11         }
12         return result;
13     }
14     public boolean BinaraySearch(int target, int[] array,int lo, int hi){
15         if(lo >= hi) return false;
16         int mid = (lo + hi) / 2;
17         if(array[mid] == target) return true;
18         else if(array[mid] > target) return BinaraySearch(target, array, lo, mid);
19         else return BinaraySearch(target, array, mid + 1, hi);
20     }
21 }

 

【剑指offer】二维数组中的查找

标签:dex   targe   return   blog   数组   bounds   i++   排序   else   

原文地址:http://www.cnblogs.com/zhangcaiwang/p/6671835.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!