zoukankan      html  css  js  c++  java
  • 剑指offer第一题二维数组中的查找

    大家好,博主是个东北人哈尔滨那嘎达的,在实习中吧,感觉自己学习之路贼拉长,学习又没乐趣,感觉工作中的人都感觉我都东北话好玩儿,

    那我就用东北话来分享一些知识和学习成果,这样既进步又有趣,以下有什么不对的欢迎大家呲哒我。

    以后每天分享两个剑指offer题目java的实现方法。。加油!

    题目描述

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

    基本思路,从左到右是递增,从上到下也是递增,先面这张图是例子

    所以我们只要把想要查找的数字比较,从左下角开始查找,所以循环从最后一行第一个开始循环,如果等于当前值直接返回true,如果要查找的值小于当前值就向上找i--

    如果要查找的值大于当前值就向右找就是i不变j++

    public class Solution {
        public boolean Find(int target, int [][] array) {
          int i,j;
              int rowCount=array.length;
              int colCount=array[0].length;
                   for(i=rowCount-1,j=0;i>=0&&j<colCount;)
                           {
                               if(target == array[i][j])
                                   return true;
                               if(target < array[i][j])
                               {
                                   i--;
                                   continue;
                               }
                               if(target > array[i][j])
                               {
                                   j++;
                                   continue;
                               }
                           }
                           return false;
                       }
            }

    欢迎大家指正,评论一起成长一起进步

  • 相关阅读:
    360删除、修改注册表问题
    朗姆达表达式类似IN查询条件
    SQL 分组排序、CASE...WHEN...、是否为空 查询
    Excel 复制Sql查询结果错位
    redis实现购物车秒杀原理
    sphinx的使用
    linux安装
    linux和windows的区别
    Yii2.0实现语言包切换功能
    Linux的7个级别
  • 原文地址:https://www.cnblogs.com/zhaokexin/p/9962897.html
Copyright © 2011-2022 走看看