二维数组中的查找
题目:
在一个二维数组中,每一行都按照从左到右的递增顺序排序,每一列都按照从上到下递增的顺序排序,
请写一个函数:给定一个数,判断该数组是否含有该数,有的话输出他的其中一个位置
/*
*@Author: helen
*@Date: 2021/4/26 16:40
*@Description:
题目:
在一个二维数组中,每一行都按照从左到右的递增顺序排序,每一列都按照从上到下递增的顺序排序,
请写一个函数:给定一个数,判断该数组是否含有该数,有的话输出他的其中一个位置。
*/
public class 二维数组中的查找 {
public String Find(int arr[][], int target){
if(arr == null)
return "不存在该数";
int rows = arr.length - 1;
int columns = arr[0].length - 1;
int temp;
int row = 0;
while (rows >=0 && columns >= 0){
temp = arr[row][columns];
if(temp == target)
return "row:" + row + ",column:" + columns;
else if(temp > target)
columns--;
else {
row++;
}
}
return "不存在该数";
}
public static void main(String[] args) {
二维数组中的查找 obj = new 二维数组中的查找();
int[][] arr = {
{1,2,8,9},
{2,4,9,12},
{4,7,10,13},
{6,8,11,15},
{8,9,13,17}};
final String result = obj.Find(arr, 13);
System.out.println(result);
}
}