daily log 01.04.21
less than 1 minute read
Attempting a hard leetcode (#4)
def get_median(array):
if len(array)%2==0:
return ((array[int(len(array)/2)] + array[int(len(array)/2) -1 ])/2)
else:
return array[int(len(array)/2)]
def merge(arr1, arr2, merged):
if arr1[0] < arr2[0]:
merged.append(arr1.pop(0))
if arr2[0] < arr1[0]:
merged.append(arr2.pop(0))
try:
merge(arr1, arr2, merged)
except:
try:
if len(arr1) == 0:
merged += arr2
if len(arr2) == 0:
merged += arr1
except:
print(merged)
pass
return merged
def median_of_two_arrays(arr1, arr2):
if len(arr1) == 0 and len(arr2) == 0:
return 0
if len(arr1) == 0:
return get_median(arr2)
if len(arr2) == 0:
return get_median(arr1)
if arr1[-1] < arr2[0]:
return ((arr1[-1] + arr2[0])/2)
if arr2[-1] < arr1[0]:
return ((arr2[-1] + arr1[0])/2)
else:
return get_median(merge(arr1, arr2, []))