리트코드 코딩 테스트 준비
https://leetcode.com/problems/median-of-two-sorted-arrays/
문제에 대한 자세한 설명은 다음 사이트에서 확인 할 수 있다.
Given two sorted arrays nums1 and nums2 of size m and n respectively, return the median of the two sorted arrays.
The overall run time complexity should be O(log (m+n)).
파이썬의 sort함수는 log시간내에 해결할 수 있다.
따라서 두개의 리스트를 합치고 sort를 통해 정렬을 해준다.
다음 전체 개수가 홀수인가 짝수인가에 따라서 각각 계산 후 return 해주는 식으로 접근하였다.
class Solution:
def findMedianSortedArrays(self, nums1: List[int], nums2: List[int]) -> float:
new_list = nums1 + nums2
new_list.sort()
if len(new_list) == 1 :
return new_list[0]
elif len(new_list) % 2 == 1 :
return new_list[len(new_list) // 2]
else :
return (new_list[len(new_list) // 2] + new_list[len(new_list) // 2 -1]) / 2
def findMedianSortedArrays(self, nums1: List[int], nums2: List[int]) -> float:
m = nums1 + nums2
m.sort()
l = len(m)
if l%2:
return m[l//2]
else:
return ((m[l//2-1]+m[l//2])/2)
파이썬은 sort함수를 통해 log n 시간안에 해결 할 수 있어 쉽게 풀었다.