题解 | #二维数组中的查找#
二维数组中的查找
https://www.nowcoder.com/practice/abc3fe2ce8e146608e868a70efebf62e
import java.util.*; public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param target int整型 * @param array int整型二维数组 * @return bool布尔型 */ public boolean Find (int target, int[][] array) { if (array == null || array.length == 0) { return false; } boolean result = false; for (int i=array.length -1; i>=0; i--) { if(array[i].length == 0) { continue; } int firstValue = array[i][0]; if(firstValue <= target) { result = binnaryFind(target, array[i]); if(result) { return true; } } } return result; } public boolean binnaryFind (int target, int[] array) { if (array == null || array.length == 0) { return false; } int mid = 0; int low = 0; int high = array.length - 1; while (low <= high) { mid = (low + high) /2; if(array[mid] == target) { return true; } else if(array[mid] < target){ low = mid + 1; } else { high = mid - 1; } } return false; } }