题目描述
在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
示例
{
[1,2,8,9],
[2,5,8,12],
[3,5,7,8],
[10,11,12,13]
}
题解
直接使用两层for循环,加一个判断条件,第一位值大于目标值,直接进行下一层判断。
class Solution
{
public bool FindNumberIn2DArray(int target, int[][] array)
{
int high = array.Length;
int len = array[0].Length;
for(int i =0;i<array.Length;i++)
{
for(int j =0;j<len;j++)
{
if(array[i][0] > target)
{
break;
}
if(array[i][j] == target)
{
return true;
}
}
}
return false;
}
}