zoukankan      html  css  js  c++  java
  • 【剑指offer】二维数组中的查找

    题目描述

    在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
     
    注意点:要注意特殊情况的存在,比如数组为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 }
  • 相关阅读:
    git 拉取开发代码
    android webview
    H5 元素定位
    Python中模块
    服务器1
    活动
    宝塔面板-阿里部署
    最新版Xshell、Xftp注册机NetSarang
    最新版Navicat Premium激活,附激活工具
    9月29更新美版T-mobile版本iPhone7代和7P有锁机卡贴解锁方法
  • 原文地址:https://www.cnblogs.com/zhangcaiwang/p/6671835.html
Copyright © 2011-2022 走看看