1 | 给定两个大小为 m 和 n 的有序数组 nums1 和 nums2。 |
官方数据很水,O(n+m)的复杂度就给过了,按照题目要求做。
中位数就是把一组数据分为两个长度相等的数据组,log(m+n)的复杂度并且数组有序,很自然得想到二分。受到限制的是,这个两个数组分别有序,即使合并也会有n+m的复杂度。所以,不可能每个数据都访问,要同时二分。主要目的就是分成两个长度相等的数据组,所以可以二分得调两个数组个数直到相等。要处理好边界。
1 | class Solution { |
1 | 给定两个大小为 m 和 n 的有序数组 nums1 和 nums2。 |
官方数据很水,O(n+m)的复杂度就给过了,按照题目要求做。
中位数就是把一组数据分为两个长度相等的数据组,log(m+n)的复杂度并且数组有序,很自然得想到二分。受到限制的是,这个两个数组分别有序,即使合并也会有n+m的复杂度。所以,不可能每个数据都访问,要同时二分。主要目的就是分成两个长度相等的数据组,所以可以二分得调两个数组个数直到相等。要处理好边界。
1 | class Solution { |