美文网首页
二维数组查找

二维数组查找

作者: asdfgjsrgdf | 来源:发表于2020-03-21 21:05 被阅读0次

题目描述

在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
即实现函数:

public boolean Find(int target, int [][] array) {}

思路

  1. 对每一行做二分查找
  2. 从左下角元素开始(因为这个位置的元素有确定的增大和减小方向,也可以是右上角),若目标比之小则上移一步,若目标比之大则左移一步

解法1

public boolean Find(int target, int [][] array) {
        for(int i=0;i<array.length;i++){
            if(biDivSearch(array[i],target,0,array[i].length-1))
                return true;
        }
        return false;
    }
    public boolean biDivSearch(int[] array,int target,int begin,int end){
        if(begin>end)
            return false;
        int mid = (begin+end)/2;
        if(array[mid]==target)
            return true;
        else if(array[mid]>target)
            return biDivSearch(array,target,begin,mid-1);
        else
            return biDivSearch(array,target,mid+1,end);
    }

解法2

public boolean Find(int target, int [][] array) {
        int col = 0;
        int row = array.length-1;
        while(col<array[0].length && row>=0){
            if(array[row][col]==target)
                return true;
            if(array[row][col]>target)
                row --;
            else if(array[row][col]<target)
                col ++;
        }
        return false;
    }

相关文章

  • 算法题

    行列都是有序的二维数组,查找k是否存在【查找法】 二维数组中的查找(行列分别有序数组的二分查找)【递归法】 快速排...

  • 剑指Offer二维数组查找

    剑指Offer二维数组查找 二维数组查找 题目描述 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到...

  • 剑指offer4.二维数组中的查找

    题目 题目分析 算法-二维数组中的查找 比如一个二维数组是这样: 要查找数组7在不在数组内,根据前人总结出来的规律...

  • OC各种算法,排序,查找实现

    二维数组查找数字的OC实现 OC 二分查找的实现 快速排序

  • 2019-08-07 B1004 成绩排名

    这道题用之前的二维数组的思路是不对的,因为这道题并不是对二维数组进行查找操作而是需要对二维数组进行遍历操作,因此我...

  • 《剑指offer》(一)-二维数组中的查找(java)

    数组--二维数组中的查找 题目描述 在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序...

  • 二维数组中的查找(Javascript编程) function Find(target, array){ // w...

  • 刷题-数组专项

    数组 二维数组中的查找题目描述:在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每...

  • 牛客网高频算法题系列-BM18-二维数组中的查找

    牛客网高频算法题系列-BM18-二维数组中的查找 题目描述 在一个二维数组array中(每个一维数组的长度相同),...

  • 二维数组查找

    剑指offer中一个题目,用递归实现

网友评论

      本文标题:二维数组查找

      本文链接:https://www.haomeiwen.com/subject/ivhuyhtx.html