1. 程式人生 > >劍指offer第一題二維陣列中的查詢

劍指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; } }

歡迎大家指正,評論一起成長一起進步