leetcode4题解

简介: leetcode4题解

LC4

给定两个大小分别为 mn 的正序(从小到大)数组 nums1nums2。请你找出并返回这两个正序数组的 中位数

算法的时间复杂度应该为 O(log (m+n))

class Solution {
   
public:
    double findMedianSortedArrays(vector<int>& nums1, vector<int>& nums2) {
   
        int m = nums1.size(), n = nums2.size(), k = 0, i = 0, j = 0;//把重复使用的数据用一个变量代替
        vector<int> sub(m + n, 0);
        while (i < m && j < n)
            sub[k++] = nums1[i] < nums2[j] ? nums1[i++] : nums2[j++];
        while (i < m) sub[k++] = nums1[i++];
        while (j < n) sub[k++] = nums2[j++];
        return k % 2 ? sub[k / 2] : (sub[k / 2] + sub[k / 2 - 1]) / 2.0; // 判断奇偶
    }
};//要会用a[i++]-->>a[i],i++;
目录
相关文章
|
4月前
|
存储
leetcode2题解
Leetcode2两数相加的题解
22 2
|
4月前
leetcode3题解
leetcode3的题解
20 1
|
4月前
leetcode209题解
leetcode209题解
26 0
|
11月前
Leetcode contests 93 题解
870. Advantage Shuffle 起始就是hdoj 1502田忌赛马,但要求的结果不一样而已。这里我用了个pair来记录B中每个数字对应的位置。
43 0
|
11月前
Leetcode contests 95 题解
用容斥原理可以计算出一个数字Num之下有多少个A或B的倍数cnt,我们从最大值二分这个数字Num,拿cnt和N做比较来决定二分的走向,最终l和r肯定会收敛到一起,这就是我们要的结果了。 这道题的数值范围不是特别大 ,用long就可以完全满足需求了。
23 0
|
12月前
|
数据安全/隐私保护
CrackRTF 题解
CrackRTF 题解
51 0
|
12月前
|
数据安全/隐私保护
[FlareOn6]Overlong 题解
[FlareOn6]Overlong 题解
86 0
|
算法
rsarsa题解
rsarsa题解
131 0
rsarsa题解