题目描述
在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。
import java.util.Scanner;
public class a {
static Scanner in=new Scanner(System.in);
static int m=in.nextInt();//输入行
static int n=in.nextInt();//输入列
static int[][] array=new int[m+1][n+1];
public static boolean Find(int[][] array,int target) {
boolean find =false;
int i = 0;
int j = n - 1;
while(i < m && j >= 0)
{
if (array[i][j] == target)
{find=true;
return find;}
else if (array[i][j] < target)
i++;
else
j--;
}
return find;
}
public static void main(String[] args) {
for (int i = 0; i < m; i++) {
for (int j = 0; j < n; j++) {
array[i][j]=in.nextInt();
}
}
int target=in.nextInt();
System.out.println(Find(array, target));
}
}