题解 | #二维数组中的查找#
二维数组中的查找
https://www.nowcoder.com/practice/abc3fe2ce8e146608e868a70efebf62e
import java.util.*; public class Solution { /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * * * @param target int整型 * @param array int整型二维数组 * @return bool布尔型 */ public int search (int[] nums, int target) { int l = 0; int r = nums.length - 1; //从数组首尾开始,直到二者相遇 while (l <= r) { // 等号保证只有一个元素的情况 //每次检查中点的值 int m = (l + r) / 2; if (nums[m] == target) return m; //进入左的区间 if (nums[m] > target) r = m - 1; //进入右区间 else l = m + 1; } //未找到 return -1; } public boolean Find (int target, int[][] array) { // write code here for(int i=0;i<array.length;i++){ int j = search(array[i], target); if(j!=-1) return true; } return false; } }
循环m次一维的二分查找即可