如題:
在乙個二維陣列中(每個一維陣列的長度相同),每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成乙個函式,輸入這樣的乙個二維陣列和乙個整數,判斷陣列中是否含有該整數。
時間小於等於2s 所佔記憶體小於等於64m
解題思路:
左下角開始與target整數比對 如果大於target 向上走 小於target向右走遍歷
利用從左到右遞增 從上到下遞增的特點。從左下角開始 只會越來越大或者越來越小不會分叉。
**奉上:
public
boolean
find
(int target,
int[
] array)
//array[m][n]即第m+1行 n+1列
int indexx = x-1;
//起始縱座標索引
int indexy =0;
//起始橫座標索引
//從左下角開始向右或者向上比對
return
docompare
(target, indexx, indexy, array)
;}
private
boolean
docompare
(int target,
int indexx,
int indexy,
int array[
])return
docompare
(target, indexx, indexy, array);}
else
if(target < array[indexx]
[indexy]
)return
docompare
(target, indexx, indexy, array);}
else
}
程式設計題 楊氏矩陣查詢演算法
原題出處 牛客網 雖然實際是選擇題,但我覺得歸類為程式設計題會更符合my feel。給定乙個m行n列的整數矩陣 如圖 每行從左到右和每列從上到下都是有序的。判斷乙個整數k是否在矩陣中出現的最優演算法,在最壞情況下的時間複雜度是o m n 由於行列都是有序的,因此可以通過判斷行列的極值降低時間複雜度。...
mysql之基礎安裝詳解筆記 no1
mysqld 設定3306埠 port 3306 設定mysql的安裝目錄 basedir c program files mysql mysql 8.0.13 winx64 設定mysql資料庫的資料的存放目錄 datadir c program files mysql mysql 8.0.13 ...
來玩二叉樹 NO 1 之遍歷演算法
樹是一種非線性的資料結構,相對於線性的資料結構 鍊錶 陣列 而言,樹的平均執行時間更短 往往與樹相關的排序時間複雜度都不會高 總結 順序結構主要有四種型別,順序表 陣列 鍊錶,佇列,棧 特殊的線性結構,棧是一種操作限定在表尾部進行的線性表,表尾稱為棧頂,另一端固定不動,稱為棧底 傳統的樹作為一種應用...