<<劍指offer>>--javascript(1)-二維數組中的查找

二維數組中的查找

題目描述

在一個二維數組中,每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成一個函數,輸入這樣的一個二維數組和一個整數,判斷數組中是否含有該整數。

實現代碼:

function Find(target,array){
      var row = array.length;
      var i = row - 1;
      var j = 0;
      while(i>=0&&array[i][j]){
         if(array[i][j]>target) {
             i--;
         } else if(array[i][j] < target) {
            j++;
        } else{
           return true;
       }
   }
   return false;
]

module.exports = {
    Find : Find
};

解題思路

這個二維數組類比成一個有序的矩陣,從矩陣的左下角看,往上是遞減的,往右是遞增的,那么就可以從最左下角的元素開始比較,如果比target大,就j++,如果比target小,就i--,直到相等返回true。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容