2018链家校招内推

编程入门 行业动态 更新时间:2024-10-09 09:14:44

2018<a href=https://www.elefans.com/category/jswz/34/1747255.html style=链家校招内推"/>

2018链家校招内推

题目1(如下截图所示):
分析:一个排序问题 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(如下截图所示):

分析:交换排序问题,求最少交换次数;没看懂题目给的提示。

更多推荐

2018链家校招内推

本文发布于:2024-03-23 19:05:21,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1741722.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:链家   校招内推

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!