LeetCode 4. Median of Two Sorted Arrays

9人阅读 评论(0) 收藏 举报
分类:

题目

这里写图片描述

思路

分治。在两个数组中寻找第k大的数。
如果nums1[k/2]<nums2[k/2],那么数字不会在nums1[:k/2+1]中,反之亦然。

代码

class Solution:
    def findKthNum(self, nums1, nums2, k):
        if not nums1: return nums2[k - 1]        

        if len(nums1) > len(nums2):
            return self.findKthNum(nums2, nums1, k)

        if k == 1:
            return min(nums1[0], nums2[0])   

        index1 = min(k // 2, len(nums1))
        index2 = k - index1

        if nums1[index1 - 1] <= nums2[index2 - 1]:
            return self.findKthNum(nums1[index1:], nums2, index2)
        else:
            return self.findKthNum(nums1, nums2[index2:], index1)

    def findMedianSortedArrays(self, nums1, nums2):
        """
        :type nums1: List[int]
        :type nums2: List[int]
        :rtype: float
        """
        k = len(nums1) + len(nums2)
        if k % 2:
            return self.findKthNum(nums1, nums2, k // 2 + 1)
        else:
            return (self.findKthNum(nums1, nums2, k // 2) + self.findKthNum(nums1, nums2, k // 2 + 1)) * 0.5

查看评论

【Python】第三周 Python Web开发基础(上)

-
  • 1970年01月01日 08:00

leetcode: 4. Median of Two Sorted Arrays (java)

题目链接:https://leetcode.com/problems/median-of-two-sorted-arrays/ 题目: There are two sorted arrays nu...
  • j754379117
  • j754379117
  • 2016-06-20 20:44:18
  • 742

leetcode之 median of two sorted arrays

这是我做的第二个leetcode题目,一开始以为和第一个一样很简单,但是做的过程中才发现这个题目非常难,给人一种“刚上战场就踩上地雷挂掉了”的感觉。后来搜了一下leetcode的难度分布表(leetc...
  • yutianzuijin
  • yutianzuijin
  • 2013-09-10 00:15:50
  • 80296

《LeetBook》leetcode题解(4): Median of Two Sorted Arrays[H]——两个有序数组中值问题

004. Median of Two Sorted Arrays[H]Median of Two Sorted ArraysH 题目 分析 思路1 思路2 预备知识 先解释下割 双数组找第k个元素 我...
  • hk2291976
  • hk2291976
  • 2016-04-09 21:24:06
  • 4888

leetcode04-Median of Two Sorted Arrays-python

There are two sorted arrays nums1 and nums2 of size m and n respectively. Find the median of the two...
  • summerdj
  • summerdj
  • 2016-03-31 15:11:13
  • 903

两个有序数组的中位数Median of Two Sorted Arrays(很重要)

https://leetcode.com/problems/median-of-two-sorted-arrays/ 对于一个长度为n的已排序数列a,若n为奇数,中位数为a[n / 2 + 1]...
  • gao1440156051
  • gao1440156051
  • 2016-06-21 11:11:03
  • 4889

[LeetCode] 004. Median of Two Sorted Arrays (Hard) (C++/Java/Python)

[LeetCode] 004. Median of Two Sorted Arrays (Hard) (C++/Java/Python)
  • hcbbt
  • hcbbt
  • 2015-02-28 00:03:30
  • 5730

LeetCode 4. Median of Two Sorted Arrays(两个有序数组的中位数)

原题网址:https://leetcode.com/problems/median-of-two-sorted-arrays/ There are two sorted arrays nums1 an...
  • jmspan
  • jmspan
  • 2016-05-01 15:39:34
  • 618

LeetCode(4)Median of Two Sorted Arrays

题目There are two sorted arrays nums1 and nums2 of size m and n respectively. Find the median of the t...
  • fly_yr
  • fly_yr
  • 2015-08-22 20:35:01
  • 1337

leetcode 4. Median of Two Sorted Arrays O(log(m+n))解法

4. Median of Two Sorted Arrays   Question Editorial Solution  My Submissions ...
  • yuxin6866
  • yuxin6866
  • 2016-09-03 20:21:42
  • 897
    个人资料
    持之以恒
    等级:
    访问量: 8万+
    积分: 5728
    排名: 5688