题目链接:https://leetcode.cn/problems/median-of-two-sorted-arrays/
思路
方法:合并数组
将两个有序数组合并成一个数组并将其排序,只需要判断数组长度奇偶。
代码实现
func findMedianSortedArrays(nums1 []int, nums2 []int) float64 {
//合并数组
nums1 = append(nums1, nums2...)
//用go自带的排序
sort.Ints(nums1)
//判断奇偶
if len(nums1) & 1 == 1{
return float64(nums1[(len(nums1) / 2)])
}
return float64(nums1[len(nums1) / 2] + nums1[len(nums1) / 2 - 1]) / 2.0
}
复杂度分析
- 时间复杂度:O(n) 其中n表示的是两个有序数组合并后的排序时间
- 空间复杂度:O(n + m) 其中n表示第一个有序数组长度,m表示第二个有序数组长度