美文网首页
二维数组的查找

二维数组的查找

作者: tomato_20fc | 来源:发表于2019-01-13 17:58 被阅读0次

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

解题思路:

  1. 先比较整数target与二维数组每行的第一个的大小,若是大于array[i][0],再比较target与这行中最后一个数的大小,若是小于最后一个值,则从右往左遍历,比较数组的值与target的大小,若是存在array[i][j]=target,返回True,如是出现target>array[i][j]时,退出这行的循环,继续下行。
    2.若是把每一行都遍历完了,array[i][1] > target > array[i][0]就返回False

代码:

class Solution
{
public:
bool Find(int target, vector<vector<int>> array) {
if (array.empty())
{
return false;
}
int _length = array.size();//行数
for (int i = 0; i < _length; i++)
{
if (array[i].empty())
{
continue;
}
else if (target >= array[i][0])
{
if(target <= array[i][array[i].size() - 1])
{
for (int j = array[i].size() - 1; i >= 0; j--)
{
if (target == array[i][j])
{
return true;
}
else if (target > array[i][j])
{
break;
}

                }

            } 
            else
            {
                continue;
            }           
        }
        else
        {
            return false;
        }
    }
    return false;
}

};
//测试
int main()
{
int target = 10;
vector<vector<int>> array = { {1,2 ,3},{ 4, 5,8 } };
Solution so;
bool a =so.Find(target, array);
cout << "array " << array.size() <<" " <<a << endl;
system("pause");
return 0;
}

相关文章

  • 算法题

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

  • 剑指Offer二维数组查找

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

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

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

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

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

  • 2019-08-07 B1004 成绩排名

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

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

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

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

  • 刷题-数组专项

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

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

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

  • LeetCode | 面试题04. 二维数组中的查找【剑指Off

    LeetCode 面试题04. 二维数组中的查找【剑指Offer】【Easy】【Python】【数组】 问题 力扣...

网友评论

      本文标题:二维数组的查找

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