# 240. LeetCode 240. Search a 2D Matrix II [LeetCode 240. Search a 2D Matrix II](https://leetcode.com/problems/search-a-2d-matrix-ii/) (<font color=#FFB800>Medium</font> 53.3%) <!-- (<font color=#00AF9B>Easy</font> 53.8%) (<font color=#FFB800>Medium</font> 39.6%) (<font color=#FF375F>Hard</font>) --> - 限制 : <ul> <li><code>m == matrix.length</code></li> <li><code>n == matrix[i].length</code></li> <li><code>1 <= n, m <= 300</code></li> <li><code>-10^9 <= matrix[i][j] <= 10^9</code></li> <li><code>All the integers in each row are sorted in ascending order.</code></li> <li><code>All the integers in each column are sorted in ascending order.</code></li> <li><code>-10^9 <= target <= 10^9</code></li> </ul> - Solution - 時間複雜度: $O(M+N)$ - 空間複雜度: $O(1)$ - 程式碼 ```c++= class Solution { public: bool searchMatrix(vector<vector<int>>& matrix, int target) { int xIndex = matrix.size() - 1, yIndex = 0; while (xIndex < matrix.size() && yIndex < matrix[0].size()) { int value = matrix[xIndex][yIndex]; if (value == target) return true; else if (value < target) yIndex++; else if (value > target) xIndex--; } return false; } }; ``` </details>