题解 | #二维数组中的查找#

二维数组中的查找

https://www.nowcoder.com/practice/abc3fe2ce8e146608e868a70efebf62e

遍历二维数组中的每一个数组,并且使用二分查找的方式来查找目标值
public class Solution {
    public boolean Find(int targetint [][] 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[] aint fromIndexint toIndexint 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;
    }
}


#二分查找#
全部评论

相关推荐

评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务