美文网首页
数据结构与算法之二维数组中的查找问题

数据结构与算法之二维数组中的查找问题

作者: cleverLee | 来源:发表于2018-02-22 18:33 被阅读0次

题目描述:

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

算法思路:

首先我们可以先用一个实际的例子来引导我们的思考,比如有这样一个数组,第一行为{1,5,9,13},第二行为{2,6,10,14,},第三行为{3,7,11,15},第四行为{4,8,12,16},这个时候我们就能很直观的看见这个二维数组的规律,我们不妨这样思考:既然是查找一个二维数组是否包含某个整数,而这个二维数组又是有规律的,我们就可以用对照法,选择一个有代表性的位置作为参照物,比如左下角或者右上角。我暂且选择以右上角作为示范,如果目标数大于右上角,则行增加。如果目标数小于右上角,则列减少。否者就是找到目标数了。编写代码的过程注意中要注意控制好边界条件。

代码实现:

这里我以java语言作为示范,其他语言的使用者可以参照我的算法思路进行相应的代码实现 

public class Solution {

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

    int i=array.length-1;

    int j=0;

    while((i>=0)&&(j

    if(array[i][j]>target)

    {   

        i--;

    }

    else if(array[i][j]

    {

        j++ ;

    }   

    else{

      return true; 

    }

    }   

    return false;

    }

}

相关文章

  • 数据结构与算法之二维数组中的查找问题

    题目描述: 在一个二维数组中每一行都按照从左到右递增的顺序排序,每一列都按照从上到下的顺序排序。请完成这样一个函数...

  • 数据结构与算法--散列表

    数据结构与算法--散列表 之前学习了基于链表的顺序查找、基于有序数组的二分查找、二叉查找树、红黑树,这些算法在查找...

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

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

  • 数据结构必备代码

    目录: 排序算法 树的遍历 查找 链表插入 数组与列表转化 二维数组排序 java中输入 集合遍历 一、基本排序1...

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

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

  • 【剑指offer-双指针】

    导读 算法 | 双指针套路总结 常用的双指针技巧 算法与数据结构基础 - 双指针 目录: 面试题04. 二维数组中...

  • 排序算法

    算法与数据结构基础 查找算法: 二分查找法: 简介:二分查找法又被称为折半查找法,用于预排序的查找问题 过程: 如...

  • 算法草稿

    常用算法集合 字符处理算法数组与查找链表树算法思路 递归、动态规划、BFS/DFS、双指针、二分法搜索数据结构的...

  • 重温:数据结构与算法 - 03数组

    数据结构与算法之美 - 数组 数据结构与算法之美-学习大纲 什么数组? 数组是一种 线性表 数据结构。它用一组 连...

  • 数据结构与算法--二叉查找树

    数据结构与算法--二叉查找树 上节中学习了基于链表的顺序查找和有序数组的二分查找,其中前者在插入删除时更有优势,而...

网友评论

      本文标题:数据结构与算法之二维数组中的查找问题

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