博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
4. Median of Two Sorted Arrays
阅读量:5138 次
发布时间:2019-06-13

本文共 1341 字,大约阅读时间需要 4 分钟。

难度:hard

Description:

There are two sorted arrays nums1 and nums2 of size m and n respectively.Find the median of the two sorted arrays. The overall run time complexity should be O(log (m+n)).

有两个已排好序的数组各自长度为m 和n,找到这两个数组的中位数,总体时间复杂度应当是O(log(m + n))

Example:

nums1 = [1, 3]nums2 = [2]The median is 2.0Example 2:nums1 = [1, 2]nums2 = [3, 4]The median is (2 + 3)/2 = 2.5

Solution:

 

@
 
class Solution:#         """#         :type nums1: List[int]#         :type nums2: List[int]#         :rtype: float#         """    def findMedianSortedArrays(self, A, B):        def kthSmall(A, B, i1, i2, k):            lenA, lenB = len(A), len(B)            if i1 >= lenA: return B[k - 1]            if i2 >= lenB: return A[k - 1]            if k == 1: return min(A[i1], B[i2])            if lenA - i1 > lenB - i2: return kthSmall(B, A, i2, i1, k)            pa = min(lenA - i1, k / 2)            pb = k - pa            return kthSmall(A, B, i1 + pa, i2, pb) if A[i1 + pa - 1] < B[i2 + pb - 1] else kthSmall(A, B, i1, i2 + pb, pa)        lenAB = len(A) + len(B)        return kthSmall(A, B, 0, 0, lenAB / 2 + 1) if lenAB % 2 else 0.5 * (kthSmall(A, B, 0, 0, lenAB / 2)\                                                                            + kthSmall(A, B, 0, 0, lenAB / 2 + 1))

  

// 取整除 - 返回商的整数部分

 

转载于:https://www.cnblogs.com/qianyuesheng/p/9074644.html

你可能感兴趣的文章
filebeat
查看>>
授权某个数据库某个表权限
查看>>
elasticsearch 安装
查看>>
vue 结构赋值
查看>>
mac必装软件
查看>>
删除文件 过滤某个文件
查看>>
Redis内存分析工具—redis-rdb-tools (转载http://www.voidcn.com/article/p-axfdqxmd-bro.html)...
查看>>
nginx passwd (http://www.voidcn.com/article/p-suebfyqy-nx.html)
查看>>
利用elasticsearch-dump实现es索引数据迁移附脚本
查看>>
rdbtool
查看>>
Jupyter 使用安装的虚拟环境(tensorflow)
查看>>
pandas.read_csv() 报错 OSError: Initializing from file failed,报错原因分析和解决方法
查看>>
mysql zip方式安装
查看>>
JAVA面向对象面试题带答案(墙裂推荐)
查看>>
SpringCloud之Eureka详细的配置
查看>>
展现量、点击量、点击率;访客数、访问次数、浏览量的区别与作用
查看>>
数据库-如何创建SQL Server身份验证用户
查看>>
Python - 实现矩阵转置
查看>>
谈谈如何选择合适的MySQL数据类型
查看>>
图解MySQL索引--B-Tree(B+Tree)
查看>>