Медиана 2 массивов - PullRequest
       10

Медиана 2 массивов

0 голосов
/ 30 марта 2020

Я пытаюсь решить проблему «Медиана 2 отсортированных массивов». Выполнение моего кода прекрасно работает в среде кода VS, но когда я пытаюсь отправить его в Leetcode, в тестовом случае происходит сбой:

nums1=[1,2]
nums2=[3,4]

Результат должен быть равен 2,5, но Leetcode говорит, что я вывод:

2.00000

Может кто-нибудь сказать мне, что не так?

Я прикрепил свой код ниже. Заранее спасибо!

Виктор

class Solution(object):
    def findMedianSortedArrays(self, nums1, nums2):
        """
        :type nums1: List[int]
        :type nums2: List[int]
        :rtype: float
        """
        l1=len(nums1)
        l2=len(nums2)
        if l1 is 0 or l2 is 0:
            return 
        new_nums=[0]*(l1+l2)
        i=0
        j=0
        k=0
        while (i<l1 and j<l2):
            if nums1[i]<=nums2[j]:
                new_nums[k]=nums1[i]
                i=i+1
                k=k+1
            else:
                new_nums[k]=nums2[j]
                j=j+1
                k=k+1

        while (j<l2):
            new_nums[k]=nums2[j]
            j=j+1
            k=k+1

        while (i<l1):
            new_nums[k]=nums1[i]
            i=i+1
            k=k+1

        sorted_list=new_nums
        length_sorted=len(sorted_list)
        if length_sorted%2==0:
            mid1=length_sorted//2
            mid2=mid1-1
            median=(sorted_list[mid1]+sorted_list[mid2])/2
            median=float(median)
            return median

        else:
            mid1=length_sorted//2
            median=sorted_list[mid1]
            median=float(median)
            return median


nums1=[1,2]
nums2=[3,4]
print(Solution().findMedianSortedArrays(nums1,nums2))
...