1. 程式人生 > >1、二維數組中的查找

1、二維數組中的查找

維數 nbsp target 題目 turn 二維數組中的查找 www. rmi while

題目描述

在一個二維數組中(每個一維數組的長度相同),每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成一個函數,輸入這樣的一個二維數組和一個整數,判斷數組中是否含有該整數。
/* 思路(轉自牛客網)
* 矩陣是有序的,從左下角來看,向上數字遞減,向右數字遞增,
* 因此從左下角開始查找,當要查找數字比左下角數字大時。右移
* 要查找數字比左下角數字小時,上移
*/
bool Find(int target, vector<vector<int> > array) {
    int rowCount = array.size();
    
int colCount = array[0].size(); int i = rowCount - 1, j = 0; while (i >= 0 && j < colCount) { if (target > array[i][j]) { j++; } else if (target < array[i][j]) { i--; } else return true; } return false; }

1、二維數組中的查找