本文主要是介绍行列递增矩阵目标数据是否存在检测,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
题目:在一个m行n列的二维数组中,每一行都按照从左到右递增的顺序排列,每一列都按照从上到下递增的顺序排列。现输入这样的一个二维数组和一个整数,请完成一个函数,判断数组中是否含有该整数。
输入:7 [[1,2,7,9][2,6,8,10][10,15,16,17]]
输出:true
思路:定位到数组的左下角,之后用定位到的数据与目标数据对比,如果 定位数据 > 目标数据 则定位坐标x坐标减1,如果定位数据 < 目标数据 则定位坐标y坐标加1,如果中间找到目标数据则返回true,如果一直找不到目标数据则返回false。
代码实现:
public class Solution {
/**
* @param args
*/
public static void main(String[] args) {
Solution solution = new Solution();
int target = 7;
int[][] array = new int[][]{{1, 2, 7, 9}, {2, 6, 8, 10}, {10, 15, 16, 17}};
System.out.println(solution.Find(target, array));
}
这篇关于行列递增矩阵目标数据是否存在检测的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!