2 条题解

  • 1
    @ 2024-1-13 20:29:42

    也可以用count+find 枚举,把枚举的结果放入set(去重),之后遍历一遍数组,数组元素在set内找到则计数器加一,时间复杂度O(n^2logn+nlogn)也就是o(n^2logn),思路很清晰。

    c++

    #include <iostream>
    #include <vector>
    #include <set>
    
    using namespace std;
    
    int main()
    {
    int n;
    cin >> n;
    vector<int> v(n);
    set<int> se;
    for (int i = 0; i < v.size(); i++)
    cin >> v[i];
    for (int i = 0; i < v.size(); i++)
    for (int j = i + 1; j < v.size(); j++)
    se.insert(v[i] + v[j]);
    int Count = 0;
    for (int i = 0; i < v.size(); i++)
    if (se.find(v[i]) != se.end())
    Count++;
    cout << Count;
    return 0;
    }

    信息

    ID
    464
    时间
    1000ms
    内存
    256MiB
    难度
    8
    标签
    递交数
    21
    已通过
    6
    上传者