剑指Offer - 面试题4. 二维数组中的查找(双指针)
生活随笔
收集整理的這篇文章主要介紹了
剑指Offer - 面试题4. 二维数组中的查找(双指针)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1. 題目
在一個 n * m 的二維數組中,每一行都按照從左到右遞增的順序排序,每一列都按照從上到下遞增的順序排序。請完成一個函數,輸入這樣的一個二維數組和一個整數,判斷數組中是否含有該整數。
示例: 現有矩陣 matrix 如下: [[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] ] 給定 target = 5,返回 true。 給定 target = 20,返回 false。限制: 0 <= n <= 1000 0 <= m <= 1000來源:力扣(LeetCode)
鏈接:https://leetcode-cn.com/problems/er-wei-shu-zu-zhong-de-cha-zhao-lcof
著作權歸領扣網絡所有。商業轉載請聯系官方授權,非商業轉載請注明出處。
2. 解題
與 LeetCode 240 題一樣。
class Solution { public:bool findNumberIn2DArray(vector<vector<int>>& matrix, int target) {if(matrix.size()==0 || matrix[0].size() == 0)return false;int m = matrix.size(), n = matrix[0].size(), i, j;i = 0, j = n-1;while(i<m && j>=0){if(matrix[i][j] < target)i++;else if(matrix[i][j] > target)j--;elsereturn true;}return false;} };另有分治算法解題,請看上面 leetcode 240 題鏈接。
總結
以上是生活随笔為你收集整理的剑指Offer - 面试题4. 二维数组中的查找(双指针)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: LeetCode 1368. 使网格图至
- 下一篇: LeetCode 1408. 数组中的字