牛客網 劍指offer,solution1

2021-09-28 15:23:14 字數 1084 閱讀 6348

標題1.在乙個二維陣列中(每個一維陣列的長度相同),每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成乙個函式,輸入這樣的乙個二維陣列和乙個整數,判斷陣列中是否含有該整數。

本道演算法題,從題目中我們可以看到,這個陣列有一定的規律,所以我們可以這樣想,當target比array[0][0],都小時,陣列中肯定不含這這個數,直接return false,同理當target比array[max][max]都大時,也可以直接return false

下面的演算法只適合此種遞增的資料,時間複雜度低,

public class solution 

int cols = array[0].length;

if (cols == 0)

// 左下

int row = rows - 1;

int col = 0;

while (row >= 0 && col < cols) else if (array[row][col] > target) else

}return false;

}public static void main(string args) ,,,

,,

};solution solution = new solution();

system.out.println(solution.find(7, array));

}}

這中時間複雜度最高 o(n^2),但是適合所有資料

public class solution 

int columns = array[0].length;

if (columns == 0)

for (int i = 0; i < rows; i++) }}

return false;

}public static void main(string args) ,,,

};solution solution = new solution();

system.out.println(solution.find(13, array));

}}

牛客網 劍指Offer 索引

二維陣列中的查詢 替換空格 從尾到頭列印鍊錶 重建二叉樹 用兩個棧實現佇列 旋轉陣列的最小數字 斐波那契數列 跳台階 跳台階 矩形覆蓋 二進位制中1的個數 數值的整數次方 調整陣列順序使奇數字於偶數前面 鍊錶中倒數第k個結點 反轉鍊錶 合併兩個排序的鍊錶 樹的子結構 二叉樹的映象 順時針列印矩陣 包...

牛客網 劍指Offer 索引

二維陣列中的查詢 替換空格 從尾到頭列印鍊錶 重建二叉樹 用兩個棧實現佇列 旋轉陣列的最小數字 斐波那契數列 跳台階 跳台階 矩形覆蓋 二進位制中1的個數 數值的整數次方 調整陣列順序使奇數字於偶數前面 鍊錶中倒數第k個結點 反轉鍊錶 合併兩個排序的鍊錶 樹的子結構 二叉樹的映象 順時針列印矩陣 包...

牛客網 劍指offer 遞迴 (1)

出現的問題 原因 返回值沒有考慮到所有情況 輸入引數n是乙個整數,自己只考慮n 0,n 1,n 2,n 39的情況,一直報錯。改正方案 加上else,判斷其他情況均輸出0,編譯通過 菲波那切數列數列有很多變形的問題 問題1 兔子問題 題目描述 已知一對兔子每乙個月可以生一對小兔子,而一對兔子出生後....