1. 程式人生 > 實用技巧 >Java介面自動化測試實戰001----get、post方法實現與封裝

Java介面自動化測試實戰001----get、post方法實現與封裝

技術標籤:演算法演算法js

故心故心故心故心小故衝啊


文章目錄


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

示例:

現有矩陣 matrix 如下:

[
[1, 4, 7, 11, 15],

[2, 5, 8, 12, 19],
[3, 6, 9, 16, 22],
[10, 13, 14, 17, 24],
[18, 21, 23, 26, 30]
]
給定 target = 5,返回 true。

給定 target = 20,返回 false。

限制:

0 <= n <= 1000

0 <= m <= 1000

解法一:flat扁平化與includes

var findNumberIn2DArray = function(matrix, target) {
    return matrix.flat(Infinity).includes(target);
};

在這裡插入圖片描述

解法二:暴力破解法:雙迴圈查詢

var findNumberIn2DArray = function(matrix, target) {
    for(var i = 0;i<matrix.length;i++){
        for(var y = 0;y<matrix[i].length;y++){
            //  console.log(matrix[i][y])
            //找到
            if(matrix[i][y] === target ){
                return true;
                 console.log(
matrix[i][y]) } } } //沒找到返回false return false; };

在這裡插入圖片描述