前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >leetcode4求中位数

leetcode4求中位数

原创
作者头像
用户11062199
发布2024-06-19 13:55:58
720
发布2024-06-19 13:55:58

LC4

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

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

代码语言:javascript
复制
 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++];//相当于sub[k]=nums1[1],k++,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++;

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • LC4
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档