zoukankan      html  css  js  c++  java
  • 剑指offer——二维数组的查找

    ---恢复内容开始---

    题目:

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

    解题思路

    既然从左到右递增,从上到下也是递增,那就先找一个基点,基点就是右上角那个点。

    如果target小于右上角的点,说明这个值肯定是在左边。

    如果target大于右上角的点,说明这个值肯定是在下边。

    要求就是每次不符合,要能够剔除一行或者一列是最快的解法。

     1 public class Solution {
     2     public boolean Find(int target, int [][] array) {
     3         
     4         int hang = array.length;
     5         int lie = array[0].length;
     6         
     7         int i=0;
     8         int j=lie-1;
     9         while(i<=hang-1 && j>=0)
    10         {
    11             if(array[i][j]>target)
    12             {
    13                 j--;
    14             }
    15             else if (array[i][j]<target)
    16             {
    17                 i++;
    18             }
    19             else
    20             {
    21                 return true;
    22             }
    23         }
    24         
    25         return false;
    26 
    27     }
    28 }

    ---恢复内容结束---

  • 相关阅读:
    java web使用WebSocket
    solr的使用
    mybatis中模糊查询的实现方式
    Java反射的简单使用
    TCP/IP协议 资料整理
    Java单向链表的实现
    Spring boot使用JWT来做接口登录验证
    sql性能优化
    前端实践项目(四)使用koa搭建开发环境
    前端实践项目 目录
  • 原文地址:https://www.cnblogs.com/wangyufeiaichiyu/p/10838782.html
Copyright © 2011-2022 走看看