LeetCode::: 74///Search a 2D Matrix

思考回路
[[1, 2, 3],
[4, 5, 6],
[7, 8, 9]]
행렬은 어쩌면 배열 속에 배열, 뭉…별로 무서워 뭔가 없어! :(´ºωº`):
  • 시간 계산량을 O(n^2)로 하고 싶지 않기 때문에 역시 포인터에 부탁
  • 포인터 ①호는 변수 row, 행수를 나타냅니다.
  • 줄을 머리에서 반복하므로 0을 넣습니다.
  • 포인터 ②호는 변수 col, 열수를 나타냅니다.
  • 열은, 마지막 꼬리로부터 루프할 예정이므로, 「행중의 아이템 (배열)」의 길이 마이너스 1 으로 합니다. 하지만 만약 이 행렬이 비어 있으면 0으로 합니다.
  • 행렬이 비어 있지 않은 상태로 행수 오버하지 않게 while 루프를 합니다.
  • target 발견되면 true~!
  • 제목에 쓰여진 힌트에 주목.
  • 목전의 아이템 (matrix[row][col])이 target 보다 작은 경우, 다음의 행으로 이행.
  • 눈앞의 아이템 (matrix[row][col])이 target 보다 크면, 같은 행에 있다고 알았으므로, 이전의 열에 (열은 마지막 꼬리로부터 루프했기 때문에) 찾아 계속합니다.
  • 계속 target 를 찾을 수 없으면 false 입니다.



  • See the Pen LeetCode ::: 74 /// Search a 2D Matrix by jujuriri ( @ Jujuri )
    on CodePen .




    좋은 웹페이지 즐겨찾기