标签:
网址:https://leetcode.com/problems/median-of-two-sorted-arrays/
题意:
给了两组有序数,找出他们总的中位数
提示:
中位数是左右相等数目数的值,如果不存在,则取左右相等数目数的两个数的平均值.
解法1:
把两组数合并成一组数.也可以是O(m+n).
但空间复杂度是O(m+n).
明显有更好的解法.
解法2:
因为两组数已经有序,那么就假定是一组数,只不过用两个下标罢了.
每次通过下标取数,比较两组数的下标所表示的值进行排序,找到中位数,结束.
需要注意,需要记录两个值,因为中位数有可能是取两个数的平均值.
这样,空间复杂度是O(1),时间复杂度应该是不足O(m+n)的.
代码:
https://github.com/LiLane/leetcode/blob/master/java/004-MedianofTwoSortedArrays-201504151322.java
https://github.com/LiLane/leetcode/blob/master/c%2B%2B/004-MedianofTwoSortedArrays-201504151310.cpp
[LeetCode]-004-Median of Two Sorted Arrays
标签:
原文地址:http://blog.csdn.net/lane_l/article/details/45340763