1 条题解

  • 0
    @ 2014-3-4 12:27:52

    【深基4.习5】求极差 / 最大跨度值

    解题思路

    遍历时同时维护最小值与最大值,输出两者之差。

    正确性说明

    逐次取 min、max 分别准确维护已读集合的极值,最终之差就是极差的定义。

    易错点

    不能用相邻差替代极差;n=1 时极差为 0。

    复杂度

    时间 O(n),空间 O(1)。

    参考代码(C++11)

    #include <bits/stdc++.h>
    using namespace std;
    
    int main() {
        ios::sync_with_stdio(false);
        cin.tie(nullptr);
        int n;
        cin >> n;
        int lo = INT_MAX, hi = INT_MIN;
        while (n--) {
            int x;
            cin >> x;
            lo = min(lo, x);
            hi = max(hi, x);
        }
        cout << hi - lo << "\n";
        return 0;
    }
    
    • 1

    【深基4.习5】求极差 / 最大跨度值

    信息

    ID
    70
    时间
    1000ms
    内存
    125MiB
    难度
    进阶
    标签
    递交数
    1
    已通过
    1
    上传者