牛客周赛 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;
}
相关推荐
NEFU_Jyj1 小时前
牛客周赛R166(max型瓶颈最短路,前后缀DP合并)
算法·深度优先
Tisfy1 小时前
LeetCode 3644.排序排列:不对则与(脑筋急转弯)
数据结构·算法·leetcode·题解·位运算
lisw053 小时前
分岔论揭示演化突变密码
开发语言·算法·数学建模
aqiu1111113 小时前
C++ TopK:使用 nth_element 快速求最小 K 个数(蓝桥杯 / LeetCode 可用)
算法
Suprman3 小时前
平面排版问题的数学建模与算法设计
算法·数学建模·排序算法·排版套料
FPGA信号处理3 小时前
【应用随机过程】:更新过程与马尔可夫链入门
算法·概率论
重生之小比特3 小时前
【算法拾光】二分查找|在排序数组中查找元素的第一个和最后一个位置 + 搜索旋转排序数组
数据结构·算法·排序算法
吴可可1233 小时前
DXF与AAMA格式转换模块推荐
算法
重生之小比特3 小时前
【算法拾光】二分查找|搜索旋转排序数组 + 寻找旋转排序数组中的最小值
算法