談笑間學會資料結構 演算法 二維陣列中的查詢

2021-10-14 04:39:05 字數 553 閱讀 4034

經典機試題(劍指offer)

題目描述

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

思路通過分析可以很簡單的找出乙個規律,二維陣列的最左下角的的點,該點的所在列上邊的點都是減少的,該點所在行右邊的點都是增加的。因此,我們以該點作為切入點,如果目標數比左下角的數大,則往右邊移動;如果目標數比左下角的數小,則往上邊移動;之後以此類推,如果匹配到目標數,則返回true;如果當移動到最右上角的點仍然沒有匹配到目標數,則返回false。

**示例

public

class

solution

else

if(target < array[row]

[col]

)else

if(target > array[row]

[col])}

return

false;}

}

驗證結果:

資料結構題集 陣列 二維陣列

設計乙個矩陣相乘的程式 假設有 1 5 7 3 3 9 1 4 1 4 a 3 6 3 9 b 5 6 7 9 0 3 1 2 8 7 3 2 7 2 5 6 0 3 1 9 9 7 4 7 8 0 3 2 5 4 求出a b的矩陣 程式構思 我們所知的矩陣乘法運算的算式如下 cij aik x b...

資料結構與二維陣列 json xml

資料結構 二分查詢 陣列必須要從小到大排序 int search int b,int len,int key else if b mid key else if b mid key return 1 快速查詢最大值 int a int mix 0 for int i 1 i 6 i 二維陣列 1 定...

資料結構動態申請二維陣列

在實現圖操作的時候,因為用鄰接矩陣法實現,所以就用到二維陣列,而在這裡,就著重說下怎麼樣動態申請二維陣列,它的原理是 申請完畢後,就類似於在乙個一維陣列中,每乙個元素都為乙個指標,而這個指標正好指向乙個一維陣列 或者說就是這個一維陣列的首位址 當然,動態申請二維陣列和動態申請二級指標記憶體是乙個道理...