(LeetCode) 240. Search a 2D Matrix II
240. Search a 2D Matrix II
- Explore : Interview > Top Interveiw Questions > Medium Collection
- 분류 : Sorting and Searching
- 난이도 : Medium
Problem
Write an efficient algorithm that searches for a target
value in an m x n
integer matrix
. The matrix
has the following properties:
- Integers in each row are sorted in ascending from left to right.
- Integers in each column are sorted in ascending from top to bottom.
Example 1
1 2
| Input: 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 Output: true
|
Example 2
1 2
| Input: 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 = 20 Output: false
|
Constraints
m == matrix.length
n == matrix[i].length
1 <= n, m <= 300
-10^9 <= matix[i][j] <= 10^9
- All the integers in each row are sorted in ascending order.
- All the integers in each column are sorted in ascending order.
-10^9 <= target <= 10^9
Solution
Exapnder
1 2 3 4 5 6 7 8 9 10
| class Solution { fun searchMatrix(matrix: Array<IntArray>, target: Int): Boolean { matrix.forEach { if (it.contains(target)) { return true } } return false } }
|
Point of Thinking
- 2차원 배열 matrix를 순회하면서, target이 존재하나 검증하면 Accepted.