leetcode-4. 寻找两个正序数组的中位数

简介: 时间复杂度:O(n) 其中n表示的是两个有序数组合并后的排序时间

7ba4f0bfc56e48daaa5095be0c1d761b.png


题目链接: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
}

036a701b020649ca96f528ad775d91ff.png


复杂度分析


  • 时间复杂度:O(n) 其中n表示的是两个有序数组合并后的排序时间


  • 空间复杂度:O(n + m) 其中n表示第一个有序数组长度,m表示第二个有序数组长度
目录
打赏
0
0
0
0
10
分享
相关文章
|
11月前
|
LeetCode算法题---无重复字符的最长子串、寻找两个正序数组的中位数(三)
LeetCode算法题---无重复字符的最长子串、寻找两个正序数组的中位数(三)
90 0
|
11月前
|
leetcode代码记录(寻找两个正序数组的中位数
leetcode代码记录(寻找两个正序数组的中位数
74 2
LeetCode 第四题:寻找两个正序数组的中位数 【4/1000 】【python + go】
LeetCode 第四题:寻找两个正序数组的中位数 【4/1000 】【python + go】
|
11月前
|
【力扣】4. 寻找两个正序数组的中位数
【力扣】4. 寻找两个正序数组的中位数
《LeetCode 热题 HOT 100》——寻找两个正序数组的中位数
《LeetCode 热题 HOT 100》——寻找两个正序数组的中位数
111 0
LeetCode第四题: 寻找两个正序数组的中位数
给定两个大小分别为m和n的正序(从小到大)数组nums1和nums2。请你找出并返回这两个正序数组的中位数。
【map】【滑动窗口】【优先队列】LeetCode480滑动窗口中位数
【map】【滑动窗口】【优先队列】LeetCode480滑动窗口中位数
LeetCode刷题 Shell编程四则 | 194. 转置文件 192. 统计词频 193. 有效电话号码 195. 第十行
本文提供了几个Linux shell脚本编程问题的解决方案,包括转置文件内容、统计词频、验证有效电话号码和提取文件的第十行,每个问题都给出了至少一种实现方法。
104 6
LeetCode刷题 Shell编程四则 | 194. 转置文件 192. 统计词频 193. 有效电话号码 195. 第十行
|
8月前
|
【Leetcode刷题Python】剑指 Offer 32 - III. 从上到下打印二叉树 III
本文介绍了两种Python实现方法,用于按照之字形顺序打印二叉树的层次遍历结果,实现了在奇数层正序、偶数层反序打印节点的功能。
89 6
【Leetcode刷题Python】牛客. 数组中未出现的最小正整数
本文介绍了牛客网题目"数组中未出现的最小正整数"的解法,提供了一种满足O(n)时间复杂度和O(1)空间复杂度要求的原地排序算法,并给出了Python实现代码。
188 2

热门文章

最新文章

AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等