题解 | #二维数组中的查找#
二维数组中的查找
https://www.nowcoder.com/practice/abc3fe2ce8e146608e868a70efebf62e
遍历二维数组中的每一个数组,并且使用二分查找的方式来查找目标值
public class Solution {
public boolean Find(int target, int [][] array) {
boolean flag = false;
for (int[] ints : array) {
flag = binarySearch(ints,0,ints.length,target);
if (flag){
break;
}
}
return flag;
}
public static boolean binarySearch(int[] a, int fromIndex, int toIndex, int key) {
boolean flag = false;
int low = fromIndex;
int high = toIndex - 1;
while (low <= high) {
int mid = (low + high) >>> 1;
int midVal = a[mid];
if (midVal < key){
low = mid + 1;
} else if (midVal > key){
high = mid - 1;
} else{
flag = true;
break;
}
}
return flag;
}
}
上海得物信息集团有限公司公司福利 1263人发布