想在安逸花借款还两三天会不会上...
网贷逾期一般会上征信,有些借贷机构在用户逾期...
(资料图片仅供参考)
给定两个大小分别为 m 和 n 的正序(从小到大)数组nums1 和nums2。请你找出并返回这两个正序数组的 中位数 。
算法的时间复杂度应该为 O(log (m+n)) 。
这道题要求找出两个已排序数组的中位数,且算法的时间复杂度应为 O(log(m+n))。其中,O 表示时间复杂度的上限,log 表示对数,m 和 n 分别表示两个数组的大小。
我们可以使用二分查找算法来解决这个问题。首先,我们将两个数组分别记为 nums1 和 nums2。为了方便,我们假设 nums1 的长度小于等于 nums2 的长度。
我们可以在 nums1 中选取一个位置 i,在 nums2 中选取一个位置 j,使得 i+j=(m+n+1)/2,其中 m 和 n 分别是两个数组的长度。如果我们能够保证:
nums1[i-1] <= nums2[j] 且 nums2[j-1] <= nums1[i]
那么,我们就已经将 nums1 和 nums2 分成了两个部分,且第一部分中的所有元素都小于第二部分中的所有元素。此时,中位数即为:
当 m+n 为奇数时,中位数为 max(nums1[i-1],nums2[j-1]); 当 m+n 为偶数时,中位数为 (max(nums1[i-1],nums2[j-1])+min(nums1[i],nums2[j]))/2。
为了保证上述条件成立,我们可以使用二分查找算法在 [0, m] 中查找合适的 i 值。在每次二分查找时,我们可以计算出 j 的值,然后检查上述条件是否成立。如果成立,则返回中位数;否则,我们就需要调整 i 的值,以便满足上述条件。具体地,如果 nums1[i-1] > nums2[j-1],则我们需要将 i 的值减小,否则将 i 的值增大。时间复杂度为 O(log(min(m,n)))。
下面是代码实现:
class Solution: def findMedianSortedArrays(self, nums1: List[int], nums2: List[int]) -> float: if len(nums1) > len(nums2): nums1, nums2 = nums2, nums1 m, n = len(nums1), len(nums2) left, right = 0, m while left <= right: i = (left + right) // 2 j = (m + n + 1) // 2 - i if i < m and nums2[j-1] > nums1[i]: left = i + 1 elif i > 0 and nums1[i-1] > nums2[j]: right = i - 1 else: if i == 0: max_left = nums2[j-1] elif j == 0: max_left = nums1[i-1] else: max_left = max(nums1[i-1], nums2[j-1]) if (m + n) % 2 == 1: return max_left if i == m: min_right = nums2[j] elif j == n: min_right = nums1[i] else: min_right = min(nums1[i], nums2[j]) return (max_left + min_right) / 2
关键词:
给定两个大小分别为m和n的正序(从小到大)数组 nums1和 nums2。请你找出并返回这两个正序数组的中位数。
腾讯云 2023-04-26总蛋白高是怎么回事儿,总蛋白高是怎么回事这个很多人还不知道,现在让我们一起来看看吧!1、总蛋白增高一般
互联网 2023-04-26雷达财经鸿途出品文|吴艳蕊编|深海近日,三六零公布了2022年年度报告。报告期内,公司营业收入95 21亿元,
手机网易网 2023-04-26倍特源此款充电宝采用高品质元器件和精密锂电保护电路,拥有2万毫安超大容量,可以给iPhone14ProMax从0到10
中关村在线 2023-04-26App4月26日消息,据报道,知情人士透露,Gap将在全球裁员数百人,这是该公司大规模重组的一部分,目的是使
钛媒体官方 2023-04-26直播吧4月25日讯 光荣特库摩公开了22-23财年年度财报,数据显示,本财年销售额为784 17亿日元(40亿人民币
天下足球 2023-04-26◎敏敏在小森林秉承着对勇敢的热爱和追求,我过去都是遇到问题就勇敢直面,撸起袖子就上“战场”。这些年成
北京青年报 2023-04-26给定两个大小分别为m和n的正序(从小到大)数组 nums1和 nums2。请你找出并返回这两个正序数组的中位数。
腾讯云 2023-04-26总蛋白高是怎么回事儿,总蛋白高是怎么回事这个很多人还不知道,现在让我们一起来看看吧!1、总蛋白增高一般
互联网 2023-04-26雷达财经鸿途出品文|吴艳蕊编|深海近日,三六零公布了2022年年度报告。报告期内,公司营业收入95 21亿元,
手机网易网 2023-04-26倍特源此款充电宝采用高品质元器件和精密锂电保护电路,拥有2万毫安超大容量,可以给iPhone14ProMax从0到10
中关村在线 2023-04-26App4月26日消息,据报道,知情人士透露,Gap将在全球裁员数百人,这是该公司大规模重组的一部分,目的是使
钛媒体官方 2023-04-26直播吧4月25日讯 光荣特库摩公开了22-23财年年度财报,数据显示,本财年销售额为784 17亿日元(40亿人民币
天下足球 2023-04-26◎敏敏在小森林秉承着对勇敢的热爱和追求,我过去都是遇到问题就勇敢直面,撸起袖子就上“战场”。这些年成
北京青年报 2023-04-26网贷逾期一般会上征信,有些借贷机构在用户逾期...
涨准备好了?黄金1795现价多,继续看1806上方...
安彩高科(600207)12月20日在投资者关系平台上...
金圆股份:第十届董事会第二十六次会议决议公告
一般来说很难追回,直接付款是即时到帐,不属...
连续两个月回升!6月份中国物流业景气指数为52.1%
山西长子“羊倌”养羊20余年 带动700余户养殖户发“羊财”
上海首个“两山”实践创新基地成功创建
广西医科大一附院向越南捐赠医疗防疫物资
黄埔海关破获案值5.5亿元走私进口二手挖掘机案
Copyright 2015-2022 华南仓储网版权所有 备案号:粤ICP备18025786号-52 联系邮箱: 954 29 18 82 @qq.com