zoukankan      html  css  js  c++  java
  • 剑指Offer:二维数组中的查找(4)

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


    思路:

    从右上角或左下角开始找,逐行删除,或者用二分法查找

    代码实现:

     1 public class Test4 {
     2     public static boolean find(int[][] array,int target){
     3         if (array==null){
     4             return false;
     5         }
     6         int row=0;
     7         int column=array[0].length-1;
     8 
     9         while (row<array.length && column>=0){
    10             if (array[row][column]==target){
    11                 return true;
    12             }
    13             if (array[row][column]>target){
    14                 column--;
    15             }else{
    16                 row++;
    17             }
    18         }
    19         return false;
    20     }
    21 
    22     public static void main(String[] args) {
    23         int[][] array ={{1,2,8,9},{2,4,9,12},{4,7,10,13},{6,8,11,15}};
    24         System.out.println(find(array,7));
    25     }
    26 }

    运行结果:

  • 相关阅读:
    COGS 859. 数列
    9.7noip模拟试题
    hash练习
    9.6noip模拟试题
    9.5noip模拟试题
    poj 2117 Electricity
    洛谷P1993 小 K 的农场(查分约束)
    9.2noip模拟试题
    洛谷 P1273 有线电视网(dp)
    面试题收集
  • 原文地址:https://www.cnblogs.com/lkylin/p/12750982.html
Copyright © 2011-2022 走看看