leetcode,两个排序数组的中位数

先上题目描述:

给定两个大小为 m 和 n 的有序数组 nums1 和 nums2 。

请找出这两个有序数组的中位数。要求算法的时间复杂度为 O(log (m+n)) 。

你可以假设 nums1 和 nums2 不同时为空。

示例 1:

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

中位数是 2.0

示例 2:

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

中位数是 (2 + 3)/2 = 2.5

解题思路:将两个数组合并成一个数组,排序,然后取中位数,思路比较low没有达到题目要求的时间复杂度。
官方给的解题用得是递归法,时间复杂度O(log(min(m,n)))。

下面直接贴代码:

猜你喜欢

转载自www.cnblogs.com/minxl/p/9894996.html