面試題77 二維陣列遞減路徑

2021-07-11 03:58:59 字數 668 閱讀 5057

給定乙個二維陣列,從左下方元素開始,找出最長一條遞減路徑,路徑只能往右方和上方移動。

例如:1 3 2

5 4 6

7 9 8

則最長路徑為:7->5->4->3->2

思路:回溯思想。

#include #include #include using namespace std;

void findpathcore(int row,int col,vector> num, vector> &re,vector&path)

int getlargest(vector> re)

return max;

}int findpath(vector> num)

} return getlargest(re);

}int main()

} num[2][1] = 1;

num[2][2] = 0;

num[2][3] = -1;

num[2][4] = -2;

num[1][4] = -3;

for (int i = 0; i < n; i++)

cout << endl;

} cout << findpath(num) << endl;

return 0;

}

搜尋二維陣列(面試題3)

寫出乙個高效的演算法來搜尋 m n矩陣中的值。這個矩陣具有以下特性 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 查詢17,return true 查詢20,return false。思路 由例子可以看出所有數字的...

面試題21 二維陣列搜尋

題目 設計乙個演算法對 m n 矩陣進行搜尋,這個矩陣擁有如下屬性.1 每行的數都是從左到右排序好的.2 每行的首數大於上行的尾數.其實這題就是用二分查詢演算法,二分查詢一般是在一維陣列上進行搜尋,解決這道題的關鍵就是如何將二維陣列對映成一維陣列.對映關係為 k i n j,j 實現 package...

面試題 二維陣列中的查詢

在乙個二維陣列中,每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成乙個函式,輸入這樣的乙個二維陣列和乙個整數,判斷陣列中是否含有該整數。例如下面的二維陣列就是每行 每列都遞增排序。如果在這個陣列中查詢數字7,則返回true 如果查詢數字5,由於陣列不含有該數字,則返回f...