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

两两配对差值最小

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;
}

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

全部评论

相关推荐

03-07 17:51
已编辑
南华大学 后端工程师
asdasdasda...:也不知道是不是真的被逼呢,也有可能女方有很多东西瞒着男方,这种东西男方什么情况都不知道全靠女方说,很难评的
点赞 评论 收藏
分享
小浪_Coding:1. 个人技能排版太乱, 写的技术栈太浅了, 跟测试,自动化相关的太少; 2. 项目开发类的太简单没有亮点, 算法类的项目建议只放一个,最好有自动化,CI/CD, pipline的项目, 需要更换; 3.整体排版需要优化, SOOB打招呼都需要注意等.
我的简历长这样
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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