Ad
Arrays
Code
Diff
  • #include <vector>
    #include <unordered_map>
    #include <numeric>
    
    int unique_sum(const std::vector<int>& n)
    {
      std::unordered_map<int,int> frequencies;
      for (auto i : n) 
          ++frequencies[i]; 
      
      return std::accumulate(begin(n), end(n), 0, [&](auto sum, auto i){
        return frequencies[i] == 1 ? sum + i : sum;
      });
    }
    • #include <vector>
    • #include <map>
    • #include <unordered_map>
    • #include <numeric>
    • int unique_sum(const std::vector<int>& n) {
    • auto histogram=[&](){
    • std::map<int,int> nums;
    • for (auto i:n) ++nums[i];
    • return nums;
    • };
    • int unique_sum(const std::vector<int>& n)
    • {
    • std::unordered_map<int,int> frequencies;
    • for (auto i : n)
    • ++frequencies[i];
    • int sum=0;
    • for (auto [k,c]:histogram()) if (c==1) sum+=k;
    • return sum;
    • return std::accumulate(begin(n), end(n), 0, [&](auto sum, auto i){
    • return frequencies[i] == 1 ? sum + i : sum;
    • });
    • }
Arrays
Code
Diff
  • #include <bits/stdc++.h>
    using namespace std;
    int unique_sum(vector<int> nums) {
      sort(nums.begin(), nums.end());
      int sum = 0;
      for(size_t i = 0; i < nums.size(); i++) {
        if(nums[i] == nums[i+1] || nums[i] == nums[i-1]) {
          continue;
        } else {
          sum += nums[i];
        }
      }
      return sum;
    }
    • #include <bits/stdc++.h>
    • using namespace std;
    • int unique_sum(const vector<int>& n) {
    • auto nums = n;
    • sort(nums.begin(), nums.end(), [](int a, int b) {
    • return a < b;
    • });
    • int unique_sum(vector<int> nums) {
    • sort(nums.begin(), nums.end());
    • int sum = 0;
    • for(size_t i = 0; i < nums.size(); i++) {
    • if(nums[i] == nums[i+1] || nums[i] == nums[i-1]) {
    • continue;
    • } else {
    • sum += nums[i];
    • }
    • }
    • return sum;
    • }