B.合并数列(SB题)
B.合并数列 | |||||
|
|||||
Description | |||||
给定两个长度分别为n和m(n和m的长度不大于10000)的非递减整数数列a(a0,a1,a2,...,an-1)和b(b0,b1,b2,...,bm-1),数列中各个整数的取值范围[0,100)。 现在对这两个数列进行合并得到新数列c(c0,c1,c2,...,cn+m-1),并保证数列c仍然是非递减的。 输出合并后数列c的各项,并把该数列c中出现次数最多的最小整数及其出现的次数输出。 |
|||||
Input | |||||
有一组测试数据。 第一行输入的是两个数列的长度n和m,数据之间由空格分隔。 第二行输入的是长度为n的数列的各项,数据之间由空格分隔。 第三行输入的是长度为m的数列的各项,数据之间由空格分隔。 |
|||||
Output | |||||
第一行输出合并后的数列的各项,数据之间由空格分隔。 第二行按照样例的格式输出合并后数列中出现次数最多的最小整数及其出现的次数。 |
|||||
Sample Input | |||||
10 5 0 3 5 7 9 11 11 98 98 99 0 0 4 6 11 99 |
|||||
Sample Output | |||||
0 0 0 3 4 5 6 7 9 11 11 11 98 98 99 0 appears 3 times. |
|||||
Hint | |||||
使用给定的主函数main()。不使用该主函数或修改该主函数,本题不得分。 int main() { int n,m,ans,totalmax=0; cin>>n>>m; int *array1=new int[n]; int *array2=new int[m]; for(int i=0;i<n;i++)cin>>array1[i]; for(int i=0;i<m;i++)cin>>array2[i]; ans=merge(array1,n,array2,m,totalmax);//实现该函数 cout<<ans<<" appears "<<totalmax<<" times.\n"; return 0; } |
#include<iostream>
#include<algorithm>
using namespace std;
int merge(int array1[], int n, int array2[], int m, int& tota)
{
int* arr = new int[n + m + 1];
for (int i = 0; i < n; i++)
{
arr[i] = array1[i];
}
for (int i = n; i < n + m; i++)
{
arr[i] = array2[i - n];
}
sort(arr, arr + n + m);
int* qwe = new int[n + m + 1];
int k = 1;
for (int i = 0; i < n + m; i++)
{
cout << arr[i] << ' ';
qwe[i] = k;
if (arr[i] == arr[i + 1])k++;
else k = 1;
}
cout << endl;
int ma = 0;
int asd = 0;
int ff = 0;
for (int i = 0; i < n + m; i++)
{
if (qwe[i] > ma)
{
asd = qwe[i];
ff = arr[i];
ma = qwe[i];
}
}
tota = asd;
return ff;
}
int main()
{
int n, m, ans, totalmax = 0;
cin >> n >> m;
int* array1 = new int[n];
int* array2 = new int[m];
for (int i = 0; i < n; i++)cin >> array1[i];
for (int i = 0; i < m; i++)cin >> array2[i];
ans = merge(array1, n, array2, m, totalmax);//实现该函数
cout << ans << " appears " << totalmax << " times.\n";
return 0;
}
B.合并数列(SB题)相关推荐
- 高中数学数列技巧解题秒杀视频:数列小题秒杀技巧
最近有很多同学问我,有没有稍微基础一点的题型秒杀技巧?答案是肯定的,那么今天我来讲一下关于广东数列小题,这题都来源于高考真题,有很多基础一般的同学,在一些题型上总找不到解题思路,那么今天就通过这道题, ...
- 高中数学数列解题:技巧数列大题—错位相减
本文原作者:vxiaobo2018 大家好,我们今天来讲一下数列大题第二问主要考察的是裂项相消和错位相减求和,裂项相消考察的是思维方式,错位相减考察的是计算能力.那么老师今天讲一种技巧,大家只要把技巧 ...
- HDU5620 KK's Steel【菲波拉契数列+水题】
KK's Steel Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others) Total ...
- 约会安排 (区间合并)毒瘤题
约会安排 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others) Total Submi ...
- 链表合并面试100题系列之18链表合并
在写这篇文章之前,xxx已经写过了几篇关于改链表合并主题的文章,想要了解的朋友可以去翻一下之前的文章 希望看官看完以后,青眼小女子的话,转载就注明一下小女子芳名: http://blog.csdn.n ...
- c语言求解连续数列编程题,数列-题解(C语言代码)
解题思路: 注意事项: 参考代码: /*给定一个正整数k(3≤k≤15),把所有k的方幂及所有有限个互不相等的k的方幂之和构成一个递增的序列, 例如,当k=3时,这个序列是: 1,3,4,9,10,1 ...
- [多校 NOIP 联合模拟 11.30 T4] ZZH 的旅行(李超树合并) | 错题本
文章目录 题目 分析 代码 题目 给一棵第 iii 条边边权为 did_idi 的有根树,111 为根.对于每个点 xxx,对于满足如下条件的序列 {s1,⋯,sk}\{s_1,\cdots,s_k ...
- 关于luoguU67856 数列一题
本题采用累加法 首先这个式子\[a_n = ka_{n-1}+b\]的通项不用我说了吧 然后就是累加法 \[S_n = \sum_{i=1}^{n} a_i = \sum_{i=1}^{n} ka_{ ...
- 线段树——区间合并(模板题)
poj 3667 1 #include <iostream> 2 #include <algorithm> 3 #include <cstring> 4 #incl ...
最新文章
- Python 精要参考(第二版) 第六章 函数与函数编程
- ubuntu mysql deb_Ubuntu 通过Deb 安装 MySQL 5.5 [转载]
- 【响应式Web前端设计】设置图片间隙为0
- qt android meta data,Qt小技巧5.解决Failed to extract plugin meta data问题
- C语言表示一元四次函数,论c语言程序设计 第四次讨论.ppt
- 消息称苹果下代iPhone、iPad产品都将采用钛合金
- jQuery的筛选选择器
- G - A Bug‘s Life(并查集) acm寒假集训日记22/1/2
- 在 Go 语言中增强 Cookie 的安全性
- 多条件and查询遇到的问题
- C# WPF 利用NPOI读写Excel文件
- 【转载】jQuery框架
- Android 原生系统,手机rom下载网站
- HOST 文件网页屏蔽广告
- 时间序列的距离度量DTW
- 11210怎么等于24_所有能算24点的四个数,(4个数只能是1——10之间的数)我举个例:1,1,1,8.1,1,2,6.………………所有能算...
- DP(动态规划)总结
- zz:Android 内存优化测试
- 记录:d3实现刻度尺
- Angular------win10搭建Angular环境并运行hello-world
热门文章
- 从逻辑分析仪抓出的I2S数据恢复出音频文件
- Lua工具:Excel数据转换成Lua文件
- L:python的Pandas模块:实例练习(泰坦尼克号数据集分析,电影票房统计,股票基本面统计)
- 睿哥牌网站SEO助手 欢迎下载用用 免费 原创。
- 使用vue模拟复选框多选以及全选的效果
- 【PAT】乙级 1009 说反话 C++思路分享 (附最后一个测试用例未通过的原因)
- Win10系统Mail添加QQ邮箱
- 模糊函数逼近器+滑模变结构控制高超声速飞行器(源代码)
- [Ember Zigbee]Zigbee3.0设备自定义ZCL数据包发送数据
- C/C++问题处理:error : no matching function for call to ‘max‘