题解 | #两两配对差值最小#

两两配对差值最小

http://www.nowcoder.com/practice/60594521f1db4d75ad78266b0b35cfbb

#include <iostream>
#include <cmath>
#include <algorithm>

using namespace std;

const int N=1000035;
int a[N];
int main()
{

    int n;cin>>n;
    for(int i=0;i<n;i++)
    {
        cin>>a[i];
    }
    sort(a,a+n); 
       int i=0,j=n-1;    int mn=-1;int res=0;int minnum=300;
    while(i<j)
    {
       if(a[i]+a[j]>mn)
       mn= a[i]+a[j];
        if(a[i]+a[j]<minnum)
       minnum= a[i]+a[j];
        res=mn-minnum;
        i++;j--;

    }
    cout<<res;
    return 0;
}

直接排序,然后让最大和最小的两两相加,然后从这些加完后的数据中选取最大和最小值作差,就是答案。

全部评论

相关推荐

07-02 10:39
门头沟学院 Java
Steven267:说点真实的,都要秋招了,还没有实习,早干嘛去了,本来学历就差,现在知道急了,而且你这个简历完全可以写成一页,劣势太大了,建议转测试
点赞 评论 收藏
分享
屌丝逆袭咸鱼计划:心态摆好,man,晚点找早点找到最后都是为了提升自己好进正职,努力提升自己才是最关键的😤难道说现在找不到找的太晚了就炸了可以鸡鸡了吗😤早实习晚实习不都是为了以后多积累,大四学长有的秋招进的也不妨碍有的春招进,人生就这样
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务