当前位置: 首页 > news >正文

两个有序序列的中位数

已知有两个等长的非降序序列S1, S2, 设计函数求S1与S2并集的中位数。有序序列A0​,A1​,⋯,AN−1​的中位数指A(N−1)/2​的值,即第⌊(N+1)/2⌋个数(A0​为第1个数)。

输入格式:

输入分三行。第一行给出序列的公共长度N(0<N≤100000),随后每行输入一个序列的信息,即N个非降序排列的整数。数字用空格间隔。

输出格式:

在一行中输出两个输入序列的并集序列的中位数。

输入样例1:

5
1 3 5 7 9
2 3 4 5 6

输出样例1:

4
#include <iostream>
#include <vector>
using namespace std;
int main() {int n;cin >> n;    int a[n];int b[n];int c[2*n];  // 存放合并后的数组// 输入第一个序列for (int i = 0; i < n; i++) {cin >> a[i];}// 输入第二个序列for (int i = 0; i < n; i++) {cin >> b[i];}// 合并两个序列int i = 0, j = 0, t = 0;while (i < n && j < n) {if (a[i] <= b[j]) {c[t++] = a[i++];} else {c[t++] = b[j++];}}// 处理剩余元素while (i < n) {c[t++] = a[i++];}while (j < n) {c[t++] = b[j++];}// 计算中位数int mid = (2 * n) / 2;  // 0-based index for middle elementcout << c[mid-1] << endl; // 输出中位数return 0;
}

 


http://www.mrgr.cn/news/32876.html

相关文章:

  • C++ 11
  • Python语法(二)——函数
  • 大连孤独症培训学校谁家好:专注关爱,开启明天
  • 接口自动化测试框架搭建详解
  • pg入门14—pg中的domain是什么
  • Java笔试面试题AI答之设计模式(2)
  • appimage 软件创建桌面快捷图标
  • Python基于大数据的Boss直聘招聘可视化系统,附源码
  • 【图灵完备 Turing Complete】游戏经验攻略分享 Part.5 编程
  • 如何查看linux版本
  • 详解c++:new和delete
  • Android Studio开发发布教程
  • mfc140u.dll丢失不用愁?超详细mfc140u.dll丢失的解决方法
  • 通过标签实现有序:优化你的 FastAPI 生成的 TypeScript 客户端
  • 网页聊天——测试报告——Selenium自动化测试
  • 头歌数据库系统原理数据模型测试
  • 软件设计师——操作系统
  • 【星际探秘 乾坤之外】
  • 动态规划-01背包问题
  • EM算法讲解