Menu
CoddyTech

Median of Two Sorted Arrays

어려움이진 탐색python iconjava iconcpp iconc iconjs icon+10

정수 목록 nums1과 nums2를 받습니다. 각 목록은 가장 작은 값부터 가장 큰 값 순으로 정렬되어 있으며, 값이 하나 이상 들어 있습니다. 두 목록의 모든 값을 합친 중앙값을 텍스트로 반환하세요.

전체 값의 개수가 홀수이면 중앙값은 가운데 값입니다. 예를 들면 "4"입니다. 개수가 짝수이면 가운데 두 값의 평균입니다. 예를 들면 "2.5" 또는 "-0.5"입니다. 정수는 소수점 없이 쓰고, 0은 "0"으로 쓰며, 절대로 "-0"으로 쓰지 마세요. 시간 복잡도는 O(log(min(m, n)))를 목표로 하세요.

함수

findMedianSortedArrays(nums1: integer-array, nums2: integer-array) → string
nums1integer-array
첫 번째 목록을 가장 작은 값부터 가장 큰 값 순으로 정렬합니다
nums2integer-array
두 번째 목록, 가장 작은 값부터 가장 큰 값 순으로 정렬됨
반환값string
모든 값의 중앙값으로, "4" 또는 "-2.5"와 같은 텍스트

제약 조건

  • 1 ≤ nums1.length, nums2.length ≤ 3000
  • -106 ≤ nums1[i], nums2[i] ≤ 106
  • 두 목록은 비내림차순으로 정렬되어 있으며, 값이 반복될 수 있습니다.

예제

입력
nums1 = [1, 4]nums2 = [2, 7, 9]
출력
"4"
설명
값을 함께 나열하면 1, 2, 4, 7, 9입니다. 값이 다섯 개이므로 가운데 값은 하나이며, 세 번째 값인 4입니다.
challenge icon

후속 질문

같은 분할 방법을 사용해 두 목록에서 임의의 k번째로 작은 값을 로그 시간에 찾을 수 있을까요?

코드 초기화
def findMedianSortedArrays(nums1, nums2):
    # 여기에 코드를 작성하세요

테스트 #1

테스트 #2

테스트 #3

인자들

nums1 = [1, 4]
nums2 = [2, 7, 9]

예상 출력

"4"