题目描述[原题链接][https://www.acwing.com/problem/content/description/16/]
在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。
请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
样例
1 | 输入数组: |
算法描述
分析可知,二维数组的数字有特征的,右上角向下、向右都是递减的,所以可以从右上角开始遍历,如果array[i][j]>target
向左移即j--
,如果array[i][j]<target
向下移,即i++
,最主要的是要判断边界条件,注意出口,最后通过i,j
的值返回结果即可;
C++代码
1 | class Solution { |
Java代码
1 | class Solution { |