기술나눔

leetcode74 2차원 행렬 검색

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

다음 두 가지 특성을 만족하는 제품을 제공하십시오.m x n정수 행렬:

  • 각 행의 정수는 왼쪽에서 오른쪽으로 비엄격하게 증가하는 순서로 정렬됩니다.
  • 각 행의 첫 번째 정수는 이전 행의 마지막 정수보다 큽니다.

정수를 줘target,만약에target매트릭스에서 반환true; 그렇지 않으면 반환false 。

힌트:

  • m == matrix.length
  • n == matrix[i].length
  • 1 <= m, n <= 100
  • -104 <= matrix[i][j], target <= 104

아이디어: 먼저 가능한 행을 검색하고 행 내부에 있으면 true를 반환합니다.

  1. class Solution(object):
  2. def searchMatrix(self, matrix, target):
  3. """
  4. :type matrix: List[List[int]]
  5. :type target: int
  6. :rtype: bool
  7. """
  8. # 思路:先查找可能所在的行,如果在行里边,那么就返回true
  9. m = len(matrix)
  10. n = len(matrix[0])
  11. for i in range(m):
  12. if target in matrix[i]: # 如果在这一行中
  13. return True
  14. if target > matrix[i][n-1]: # 如果大于这一行最后一个元素值,那么就下一行
  15. continue
  16. return False