2018链家校招内推-大数据开发工程师笔试编程题
2017-08-22 16:51
671 查看
题目1(如下截图所示):
分析:一个排序问题
C++实现:
题目3(如下截图所示):
分析:先排序,再去重
C++实现:
结果:
题目2(如下截图所示):
分析:交换排序问题,求最少交换次数;没看懂题目给的提示。
分析:一个排序问题
C++实现:
#include<iostream> using namespace std; void insertSort(int *a,int *b,int n){ int tmp_a,tmp_b;//监视哨 for(int i=1;i<n;i++){ if(b[i]<b[i-1]){ tmp_b=b[i]; tmp_a=a[i]; for(int j=i-1;b[j]>tmp_b&&j>=0;j--){ b[j+1]=b[j]; a[j+1]=a[j]; } b[j+1]=tmp_b; a[j+1]=tmp_a; } } } int main(){ int n,r,avg,res=0; cin>>n; cin>>r; cin>>avg; int a[100000],b[100000],sum=0; for(int k=0;k<n;k++){ cin>>a[k]; cin>>b[k]; sum+=a[k]; } int diss=avg*n-sum; insertSort(a,b,n); for(k=0;k<n;k++){ int s=a[k]; while(s<n&&diss>0){ res+=b[k]; s++; diss--; } } /* for(k=0;k<n;k++){ cout<<a[k]<<b[k]<<endl; } */ cout<<res<<endl; return 0; }结果:
题目3(如下截图所示):
分析:先排序,再去重
C++实现:
#include<iostream> #include<math.h> #include<vector> #include<algorithm> using namespace std; int main(){ int n,ct=0; cin>>n; vector<int> d(n,-1); for(int i=0;i<n;i++) cin>>d[i]; sort(d.begin(),d.end()); for(i=1;i<n;i++){ if(d[i]==d[i-1]){ ct+=1; } } cout<<d.size()-ct<<endl; for(i=1;i<n;i++){ if(d[i]!=d[i-1]) cout<<d[i]<<" "; } return 0; }
结果:
题目2(如下截图所示):
分析:交换排序问题,求最少交换次数;没看懂题目给的提示。
相关文章推荐
- 京东2017校招笔试编程题iOS开发工程师
- 2016年美团校园招聘数据开发工程师笔试编程题
- 田忌赛马 - 去哪儿2018校招哈尔滨在线笔试题 - 开发工程师
- [置顶] 美丽联合2018校招前端开发工程师笔试试卷及解析
- 网易2018校招Java开发工程师笔试卷 String.substring(2,5)的输出结果为
- 爱奇艺2018秋季校招C++工程师(第三场)编程题 - 题解
- (网易2018校招笔试)[编程题] 字符串碎片
- 2018链家笔试编程题
- 网易2018校招内推Android笔试编程题一道
- 今日头条2018校园招聘后端开发工程师(第二批)编程题 - 题解
- 【补题】网易 2018 校招笔试编程题 - 解题思路
- 阿里2018校招客户端研发笔试之编程题
- 2018京东校招笔试题-数据分析岗
- (网易2018校招笔试)[编程题] 游历魔法王国
- 爱奇艺2018校招前端开发编程题个人解法
- 京东2018校招在线笔试编程题①
- 2018美团点评笔试(机器学习,数据挖掘方向)编程题题解
- 腾讯2018校招WEB前端开发笔试有感
- 爱奇艺2018秋季校招C++工程师(第一场)编程题 - 题解
- 2018网易校招前端开发工程师笔试卷讨论