4 条题解

  • 1
    @ 2025-12-6 11:04:13

    c++11思路: 这题其实很简单,如果刷过力扣的应该一眼丁真,就是力扣第一题,用哈希表去映射每个数组

    #include <bits/stdc++.h>
    using namespace std;
    int main(){
        int N,C;
        cin>>N>>C;
        vector <int> v(N,0);
        unordered_map <int,int> mp;//哈希表
        int res = 0;
        int Max = INT_MIN;
        for(int i = 0;i<N;i++){
            cin>>v[i];
            mp[v[i]]++;
            if(Max<=v[i]) Max = v[i];
        }
        for(int i = 1;i<=Max;i++){
            if(mp[i-C]!=0) res += mp[i-C];//遍历每个数组,如果存在这个数,就是直接加上存在这个数的个数就OK了
        }
        cout<<res;
    }
    

    信息

    ID
    1153
    时间
    1000ms
    内存
    256MiB
    难度
    9
    标签
    (无)
    递交数
    453
    已通过
    47
    上传者