二维数组的查找

xiaoxiao2021-02-28  139

题:在一个二维数组中,每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。

解法:从数组的左上角开始查找, target比右上角的数字小,则可以排除最后一列数字;如果比上角大,则排除第一行。

public class Solution { public boolean Find(int target, int [][] array) { int rowLen = array.length;//行数 int colLen = array[0].length;//列数 for (int i = 0; colLen >= 1 && i < rowLen;) { if(target < array[i][colLen-1]){//从右上角的数开始比 colLen--;//排除此时最右边一列 }else if(target > array[i][colLen-1]){ i++;//排除此时最上边一行 }else { return true; } } return false; } }
转载请注明原文地址: https://www.6miu.com/read-18535.html

最新回复(0)