牛客周赛 119B题(贪心)

题目链接:https://ac.nowcoder.com/acm/contest/122724/B

题目大意:给定一个数组a,并取出a中所有二元组,并用这些二元组作差的绝对值构成一个新序列b,求b中最大值

题目思路:可以知道对于b中元素覆盖a中所有二元组的绝对值,那么我们只需要求出a中的最大值和最小值,然后相减取绝对值即可

时间复杂度:O(n)

代码如下:

cpp 复制代码
#include <bits/stdc++.h>
using namespace std;
#define endl "\n"
#define int long long//由于数据范围较大,需要开ll
// https://ac.nowcoder.com/acm/contest/122724/B
// 牛客周赛 119B题(贪心)
/*
题目大意:给定一个数组a,并取出a中所有二元组,并用这些二元组作差的绝对值构成一个新序列b,求b中最大值
题目思路:可以知道对于b中元素覆盖a中所有二元组的绝对值,那么我们只需要求出a中的最大值和最小值,然后相减取绝对值即可
*/
//时间复杂度:O(n)
void solve()
{
    int n;
    cin >> n;
    vector<int> a(n);
    int ma = 1, mi = 1e9;//初始化
    for (int i = 0; i < n;i++){
        cin >> a[i];
        ma = max(ma, a[i]);//最大值
        mi = min(mi, a[i]);//最小值
    }
    cout << abs(ma - mi) << endl;//取绝对值
}
signed main()
{
    ios::sync_with_stdio(false);
    cin.tie(nullptr);
    int T;
    cin >> T;
    while (T--)
    {
        solve();
    }
    return 0;
}
相关推荐
通信小呆呆5 小时前
电子战抗干扰技术:当“不被干扰”成为一种系统
算法·通信·mimo·isac
笑容掩饰我的失落5 小时前
区块链从小白到精通(八):从零实现一个标准 ERC-20 代币(完整可运行代码)
算法·区块链·php·智能合约·哈希算法
Severus_black6 小时前
【C++初阶】Stack、Queue算法题大练兵!
c语言·c++·算法·stl
2601_967979128 小时前
机器学习必修课:经典算法与Python实战
python·算法·机器学习·实战·课程
程序猿打工仔9 小时前
计算机基础(C语言)考编、专技岗
c语言·开发语言·算法
通信小呆呆9 小时前
电子战干扰技术:从“蛮力压制”到“精准欺骗”,再到“认知博弈”
算法·通信·isac
老师我太想进步了20269 小时前
【数据结构-6】算法美学之单链表(1)
数据结构·算法
希望我万事顺遂10 小时前
力扣hot100-滑动窗口最大值
数据结构·算法·leetcode
꧁细听勿语情꧂11 小时前
二叉树余题,排序、直接插入排序、希尔排序
c语言·开发语言·数据结构·算法
是main不是漫11 小时前
【双指针|LeetCode1089 复写零】巧用逆向思路,破解原地覆盖陷阱
数据结构·算法·leetcode