Sort by

recency

|

1058 Discussions

|

  • + 0 comments

    Here is my O(n) c++ solution, you can watch the implementation here : https://youtu.be/vLD3N79nLSE

    int beautifulTriplets(int d, vector<int> arr) {
        map<int, int> mp;
        int result = 0;
        for (int a : arr) {
            mp[a] += 1;
            result += mp[a-d]*mp[a-2*d];
        }
        return result;
    }
    
  • + 0 comments

    function beautifulTriplets(d, arr) {

    let hash = {}
    let counter = 0
    for (const n of arr) {
        hash[n] = !hash[n] ? 1 : hash[n] + 1;
    }
    
    for (const k in hash) {
        const sec = Number(k) + d;
        const third = sec + d;
    
        if (hash[sec] && hash[third]) counter += Math.max(hash[k], hash[sec], hash[third])
    }
    return counter
    

    }

  • + 0 comments
    def beautifulTriplets(d, arr):
        count = 0
        set_of_numbers = set(arr)
        for n in arr:
            fir = n
            sec = fir + d
            thi = sec + d
            if sec in set_of_numbers and thi in set_of_numbers:
                count += 1
        return count
    
  • + 0 comments

    public static int beautifulTriplets(int d, List arr) { // Write your code here Set set=new HashSet<>(); for(int i:arr) set.add(i); int cnt=0,c,e; int l=arr.size(); for(int i=0;i

        }  
    

    return cnt; }

  • + 0 comments

    include

    include

    using namespace std;

    string ltrim(const string &); string rtrim(const string &); vector split(const string &);

    int beautifulTriplets(int d, vector arr) { int triplets=0;

    for(int i=0;i<arr.size();i++){
        for(int j=i+1;j<arr.size();j++){
            if (arr[j]-arr[i]==d) {
            for(int k=j+1;k<arr.size();k++){
                if(arr[k]-arr[j]==d){
                   triplets++;
                   break;
            }
            }
            }
        }
    }
    

    return triplets; }

    int main() { ofstream fout(getenv("OUTPUT_PATH"));

    string first_multiple_input_temp;
    getline(cin, first_multiple_input_temp);
    
    vector<string> first_multiple_input = split(rtrim(first_multiple_input_temp));
    
    int n = stoi(first_multiple_input[0]);
    
    int d = stoi(first_multiple_input[1]);
    
    string arr_temp_temp;
    getline(cin, arr_temp_temp);
    
    vector<string> arr_temp = split(rtrim(arr_temp_temp));
    
    vector<int> arr(n);
    
    for (int i = 0; i < n; i++) {
        int arr_item = stoi(arr_temp[i]);
    
        arr[i] = arr_item;
    }
    
    int result = beautifulTriplets(d, arr);
    
    fout << result << "\n";
    
    fout.close();
    
    return 0;
    

    }

    string ltrim(const string &str) { string s(str);

    s.erase(
        s.begin(),
        find_if(s.begin(), s.end(), not1(ptr_fun<int, int>(isspace)))
    );
    
    return s;
    

    }

    string rtrim(const string &str) { string s(str);

    s.erase(
        find_if(s.rbegin(), s.rend(), not1(ptr_fun<int, int>(isspace))).base(),
        s.end()
    );
    
    return s;
    

    }

    vector split(const string &str) { vector tokens;

    string::size_type start = 0;
    string::size_type end = 0;
    
    while ((end = str.find(" ", start)) != string::npos) {
        tokens.push_back(str.substr(start, end - start));
    
        start = end + 1;
    }
    
    tokens.push_back(str.substr(start));
    
    return tokens;
    

    }