华为OD机考:34-35-求众数中的中位数,求满足条件的两个集合
文章目录
- 0034-求众数中的中位数
- 题目描述
- 输入描述
- 输出描述
- 输出输出样例
- C++代码
- 0035-满足条件的两个集合
- 题目描述
- 输入描述
- 输出排序
- 输出输出样例
- C++ 代码
0034-求众数中的中位数
题目描述
1.众数是指一组数据中出现次数多的数
众数可以是多个
2.中位数是指把一组数据从小到大排列,最中间的那个数,
如果这组数据的个数是奇数,那最中间那个就是中位数
如果这组数据的个数为偶数,那就把中间的两个数之和除以2就是中位数
3.查找整型数组中元素的众数并组成一个新的数组
求新数组的中位数
输入描述
输入一个一维整型数组,数组大小取值范围 0<n<1000
数组中每个元素取值范围, 0<e<1000
输出描述
输出众数组成的新数组的中位数
输出输出样例
示例一
输入:
10 11 21 19 21 17 21 16 21 18 16
输出
21示例二
输入
2 1 5 4 3 3 9 2 7 4 6 2 15 4 2 4
输出
3示例三
输入
5 1 5 3 5 2 5 5 7 6 7 3 7 11 7 55 7 9 98 9 17 9 15 9 9 1 39
输出
7
C++代码
//
// Created by HANWENKE on 2022-09-19.
//
#include <iostream>
#include <vector>
#include <string>
#include <sstream>
#include <map>
#include <algorithm>
using namespace std;
bool cmp( const pair<int,int>&a, const pair<int,int>&b){return a.second>b.second;
}/*解题思路* 首先要找到众数,那么可以使用has_map* 其次对hash_map进行排序,值最大的放到前面去* 让后通过迭代器遍历--将最大的放到vector中* 然后找到对应的中位数*/
int main(){map<int,int>tmap;//key记录数字,val记录个数string ss;getline(cin,ss);istringstream stemp(ss);int temp;while(stemp>>temp){tmap[temp]++;}vector<pair<int,int>>arr(tmap.size());int i=0;for(auto &x:tmap){arr[i++]=x;}//对map进行排序--需要重写比较函数sort(arr.begin(),arr.end(),cmp);vector<int>res;//记录众数出现的次数int key=arr.begin()->second;for(int i=0;i<arr.size();i++){if(arr[i].second==key){res.push_back(arr[i].first);}else{break;}}if(res.size()==1){cout<<res[0];return 0;}if(res.size()%2==1){cout<<res[res.size()%2];}else{//如果长度是偶数--第一个数字则为 减去1除以2,第二个为直接除以2的值int first=res[(res.size()-1)%2];int second=res[res.size()%2];cout<<(first+second)%2;}return 0;
}
0035-满足条件的两个集合
题目描述
同一个数轴x有两个点的集合A={A1,A2,…,Am}和B={B1,B2,…,Bm} A(i)和B(j)均为正整数
A、B已经按照从小到大排好序,AB均不为空
给定一个距离R 正整数,列出同时满足如下条件的 (A(i),B(j))数对
- A(i)<=B(j)
- A(i),B(j)之间距离小于等于R
- 在满足1,2的情况下每个A(i)只需输出距离最近的B(j)
- 输出结果按A(i)从小到大排序
输入描述
第一行三个正整数m n R
第二行m个正整数 表示集合A
第三行n个正整数 表示集合B
输入限制 1<=R<=100000 1<=n,m<=100000 1<= A(i),B(j) <= 1000000000
输出排序
每组数对输出一行 A(i)和B(j) 以空格隔开
输出输出样例
输入
4 5 5
1 5 5 10
1 3 8 8 20输出
1 1
5 8
5 8
C++ 代码
//
// Created by HANWENKE on 2022-09-19.
//
#include <iostream>
#include <vector>
#include <string>
#include <sstream>
using namespace std;
int main(){int m,n,r;//未初始化的全局变量存在.bss段cin>>m>>n>>r;//清空缓冲区--重置cincin.clear();cin.sync();vector<int>arr1;vector<int>arr2;string ss;getline(cin,ss);istringstream s1(ss);int temp;while(s1>>temp){arr1.push_back(temp);}//清空缓冲区--重置cincin.clear();cin.sync();getline(cin,ss);istringstream s2(ss);while(s2>>temp){arr2.push_back(temp);}for(auto &x:arr1){for(auto &y:arr2){if(x<=y&&(y-x)<=r){//题目要求arr从小到大排序,因为arr1,和arr2本就有序,所以满足条件直接输出跳出循环就OKcout<<x<<" "<<y<<endl;break;}}}return 0;
}
华为OD机考:34-35-求众数中的中位数,求满足条件的两个集合相关推荐
- 华为OD机考——牛客10道练习题(Python版)
注意:华为od机考--牛客10道练习题(Python版)仅供学习和参考,谢谢! #练习题-数组: ''' 1.求解连续数列 已知连续正整数数列{K}=K1,K2,K3...Ki的各个数相加之和为S,i ...
- 关于华为OD机考的澄清 + 说明
1:因为华为OD机考碰到原题的概率较大,近期有人冒充我搞[机试代做.代考],把我的专栏代码直接发给考生赚取高额"代考费",并谎称本CSDN账号归他所有.建议各位小伙伴擦亮双眼,本人 ...
- 华为od机考攻略,参考资料
od机考大部分题目网上都能搜索到原题,答案有查重,需要修改答案 一.题型.编译问题 关于题型: 机考共三题,两道简单题目各100分,一道较难题目200分,满分400,150分及以上通过 简单:字符串/ ...
- 华为OD机考 2022
2022 题库 Q4 新题库 100分 01 真正的密码 100 02 羊.狼.农夫过河 100 03 单向链表中间节点 华为OD真题 100 04 租车骑绿岛 华为OD真题 100 05 完美走位 ...
- 华为OD机考心得 [收藏]
华为od机试题库
- 华为OD机考20220622
考试时间:2022-06-22 总分:136分 第一题:字符串分割-水仙花数(用例通过率:11.1%) 第二题:内存资源分配(用例通过率:95.8%) 第三题:模拟内存分配(用例通过率:15%) 之前 ...
- 华为od机考真题(JAVA)
import java.util.Arrays; import java.util.Scanner; 001 [5键键盘的输出] 002 [N进制减法] 003 [TLV解码] 004 [VLAN资源 ...
- 华为OD机考题目(自动化测试)
目次 1.求第k长的字串的长度 2.上N阶台阶问题 3.踢出石子问题 1.求第k长的字串的长度 描述 一个字符串只包含大写字母,求其连续相同字母子串中,长度第K长的子串长度,相同字母只取 最长那个子串 ...
- 华为od机考题目-幼儿园找出同班的小朋友(幼儿园分班)
幼儿园两个半的小朋哟排队的时候混合在一起了,每位小朋友都直到自己是否与前面的一位小朋友同伴,请你帮忙把同班的小朋友找出来 小朋友的编号是整数,与前一位同班用Y表示,不同班用N表示 准备两个列表分别保存 ...
最新文章
- 负载均衡故障诊断:一个MSS值引发的疑案
- Quadratic equation(二次剩余)2019牛客多校第九场
- C++ functor 仿函数
- Python破解滑块验证码算法,完美避开人机识别
- 开发人员一定要加入收藏夹的网站(引用)
- 精华文稿 | 工业场景中机器人定位导航技术
- 千呼万唤始出来!诺基亚发预热海报:5摄手机真要来了
- java jdbc oracle rac_JDBC连接oracle RAC数据库配置
- 字节跳动BVC2解码器率先支持移动平台H.266标准8K解码
- httpget请求设置长度_Citrix ADCHTTP请求Smuggling详解
- Linux学习第一篇之Linux系统安装——系统分区
- C++ std::condition_variable wait() wait_for() 区别 怎么用 实例
- 干货分享 | 工业信息数据库安全现状与技术分析
- 一个div里面包含两个div让两个div垂直居中
- Backpack VI
- 与日历有关的小程序推荐
- 微信小程序第五篇:页面弹出效果及共享元素动画
- 用halcon提取衣服徽章
- S7-1200能不能仿真通信?
- 云原生之Linux命名空间和docker容器隔离