LeetCode#4 Median of Two Sorted Arrays (2)

转载 2015年07月09日 12:23:29
def findKth(self,a,b,k,aStart,aEnd,bStart,bEnd):
        aLen = aEnd - aStart + 1
        bLen = bEnd - bStart + 1
        
        if aLen == 0:
            return b[bStart+k]
        
        if bLen == 0:
            return a[aStart+k]
            
        if k == 0:
            if a[aStart] > b[bStart]:
                return b[bStart]
            else:
                return a[aStart]
                
        aMid = k*aLen/(aLen + bLen)
        bMid = k - aMid - 1
        
        aMid+=aStart
        bMid+=bStart
        
        if a[aMid] > b[bMid]:
            k-=(bMid - bStart + 1)
            aEnd = aMid
            bStart = bMid + 1
        else:
            k-= (aMid - aStart + 1)
            bEnd = bMid
            aStart = aMid + 1
        
        return self.findKth(a,b,k,aStart,aEnd,bStart,bEnd)
    
    
    def findMedianSortedArrays(self, nums1, nums2):
        lenN1 = len(nums1)
        lenN2 = len(nums2)
        
        if (len(nums1) + len(nums2)) % 2 == 0:
            return (self.findKth(nums1,nums2,(len(nums1)+len(nums2))/2,0,len(nums1)-1,0,len(nums2)-1) + self.findKth(nums1,nums2,(len(nums1)+len(nums2))/2 - 1,0,len(nums1)-1,0,len(nums2)-1) ) / 2.0
        else:
            return self.findKth(nums1,nums2,(len(nums1)+len(nums2))/2,0,len(nums1)-1,0,len(nums2)-1)


leetcode之 median of two sorted arrays

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

《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
  • 2653

两个有序数组的中位数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
  • 3676

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
  • 556

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
  • 783

leetcode之Median of Two Sorted Arrays问题

问题描述: There are two sorted arrays nums1 and nums2 of size m and n respectively. Find the median of t...
  • xu2645318400
  • xu2645318400
  • 2017年06月29日 18:49
  • 166

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
  • 1212

Median of Two Sorted Arrays (JAVA)

class Solution { public double findKth(int a[], int startA, int m, int b[], int startB, int n, int ...
  • sunjilong
  • sunjilong
  • 2014年01月01日 08:31
  • 1907

Median of Two Sorted Arrays 两个有序数组的中位数@LeetCode

超级难的一道题,线性时间复杂度好做,就是merge。 但是对数复杂度,就要用到很多数学分析,实际上就是要找到第k小的元素。 翻遍了网络,觉得还是这一篇讲的最详细,而且写得代码最容易转为Java,因为J...
  • hellobinfeng
  • hellobinfeng
  • 2013年12月16日 13:52
  • 4685

LeetCode 第二题,Median of Two Sorted Arrays

题目再现 There are two sorted arrays A and B of size m and n respectively. Find the median of the two so...
  • hu1020935219
  • hu1020935219
  • 2014年08月02日 17:18
  • 2280
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:LeetCode#4 Median of Two Sorted Arrays (2)
举报原因:
原因补充:

(最多只允许输入30个字)