每日一練(二)

書生今天不吃飯發表於2018-03-30

題目:編寫一個高效的演算法來搜尋m * n矩陣中的目標值。該矩陣具有以下特性:

  • 每行中的整數從左到右排序。
  • 每行的第一個整數大於前一行的最後一個整數。

例如,

以下矩陣:

[
    [1, 3, 5, 7],
    [10, 11, 16, 20],
    [23, 30, 34, 50]
]
複製程式碼

給定目標值=3,返回true

我的答案:

/**
 * @param {number[][]} matrix
 * @param {number} target
 * @return {boolean}
 */
var searchMatrix = function(matrix, target) {
    var tempArr = [].concat.apply([], matrix);
    if (tempArr.length === 0) {
        return false;
    }
    return tempArr.indexOf(target) > -1;
};
複製程式碼

相關文章