zoukankan      html  css  js  c++  java
  • 牛客(1)二分查找

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

    一,二分查找(失败)

    //    public static boolean Find(int target, int [][] array) {
    // System.out.println("aaaaaaaaaaaa");
    // int rowMax = array.length -1;
    // int rowMin = 0;
    // int columnMax = array[0].length-1;
    //
    // while(rowMin < rowMax){
    // int rowMiddle = (rowMax + rowMin)/2;
    //
    // if (array[rowMiddle][0]== target||array[rowMiddle][columnMax]==target){
    // return true;
    // }else if (array[rowMiddle][0]<target&&array[rowMiddle][columnMax]>target){
    // int columnMin = 0;
    // while (columnMin <columnMax){
    // int columnMiddle = (columnMax +columnMin)/2;
    // if (array[rowMiddle][columnMiddle]==target){
    // return true;
    // }else if (array[rowMiddle][columnMiddle]>target){
    // columnMax =columnMiddle;
    // }else if (array[rowMiddle][columnMiddle]<target){
    // columnMin =columnMiddle;
    // }
    // }
    //// 如果没有,怎么调整 --》宣告失败
    // }else if (array[rowMiddle][0]>target){
    // rowMax = rowMiddle;
    // }else if (array[rowMiddle][columnMax]<target){
    // rowMin = rowMiddle;
    // }
    // }
    // return false;
    // }
    二 . 二分查找(成功)
    public static boolean Find(int target, int [][] array) {
    int row = array.length - 1;
    while (row >= 0) {
    int columnMax = array[row].length - 1;
    if(columnMax<0) {
    return false;
    }
    if (array[row][columnMax] >= target || array[row][0] <= target) {
    int columnMin = 0;
    while (columnMin <= columnMax&&columnMax>=0) {
    int columnMiddle = (columnMax + columnMin) / 2;
    if (array[row][columnMiddle] == target) {
    return true;
    } else if (array[row][columnMiddle] < target) {
    columnMin = columnMiddle + 1;
    } else if (array[row][columnMiddle] > target) {
    columnMax = columnMiddle - 1;
    }
    }
    }
    row --;
    }
    return false;
    }
  • 相关阅读:
    pycharm中文乱码
    bootstrap-table分页
    sql将查询结果的某个字段赋值给另一个字段
    bootstrap tab选项卡
    cocos-js 精灵移动转圈
    配置环境变量路径有空格
    配置java环境遇到的问题及解决方案
    obj = obj || {} 分析这个代码的起到的作用
    sql server行转列
    sql server统计总成绩和排名
  • 原文地址:https://www.cnblogs.com/kaibing/p/8980211.html
Copyright © 2011-2022 走看看