Skip to main content
Code Review

Return to Question

Commonmark migration
Source Link

Problem

#Problem DupeDupe detection for a vector of ints. I simply want a count of the unique input characters that occurred at least twice. The goal is to count a dupe only once and ignore that input character if another dupe of it is seen in the future. A test input could look something like this vector<int> test = { 4,5,9,6,9,9,6,3,4 };

#Looking for Feedback on

Looking for Feedback on

Looking for basic feedback on the data structures I'm using and the possibility of using the vector erase method to iterate and take advantage of the space allocated to my numbers vector instead of using a map to not count dups more than once. Any C++ 11 or 17 features I can take advantage of here too?

int countDuplicates(vector<int> numbers) {
 int dups = 0;
 set<int> s;
 map<int, int> m;
 for (int n : numbers) {
 if (s.insert(n).second == false && m.find(n) == m.end()) {
 dups++;
 m.insert(pair<int, int>(n,0));
 // better to remove from vector than increase space with the map?
 // numbers.erase(remove(numbers.begin(), numbers.end(), n), numbers.end()); 
 } else {
 s.insert(n);
 }
 }
 return dups;
}

#Problem Dupe detection for a vector of ints. I simply want a count of the unique input characters that occurred at least twice. The goal is to count a dupe only once and ignore that input character if another dupe of it is seen in the future. A test input could look something like this vector<int> test = { 4,5,9,6,9,9,6,3,4 };

#Looking for Feedback on

Looking for basic feedback on the data structures I'm using and the possibility of using the vector erase method to iterate and take advantage of the space allocated to my numbers vector instead of using a map to not count dups more than once. Any C++ 11 or 17 features I can take advantage of here too?

int countDuplicates(vector<int> numbers) {
 int dups = 0;
 set<int> s;
 map<int, int> m;
 for (int n : numbers) {
 if (s.insert(n).second == false && m.find(n) == m.end()) {
 dups++;
 m.insert(pair<int, int>(n,0));
 // better to remove from vector than increase space with the map?
 // numbers.erase(remove(numbers.begin(), numbers.end(), n), numbers.end()); 
 } else {
 s.insert(n);
 }
 }
 return dups;
}

Problem

Dupe detection for a vector of ints. I simply want a count of the unique input characters that occurred at least twice. The goal is to count a dupe only once and ignore that input character if another dupe of it is seen in the future. A test input could look something like this vector<int> test = { 4,5,9,6,9,9,6,3,4 };

Looking for Feedback on

Looking for basic feedback on the data structures I'm using and the possibility of using the vector erase method to iterate and take advantage of the space allocated to my numbers vector instead of using a map to not count dups more than once. Any C++ 11 or 17 features I can take advantage of here too?

int countDuplicates(vector<int> numbers) {
 int dups = 0;
 set<int> s;
 map<int, int> m;
 for (int n : numbers) {
 if (s.insert(n).second == false && m.find(n) == m.end()) {
 dups++;
 m.insert(pair<int, int>(n,0));
 // better to remove from vector than increase space with the map?
 // numbers.erase(remove(numbers.begin(), numbers.end(), n), numbers.end()); 
 } else {
 s.insert(n);
 }
 }
 return dups;
}
Tweeted twitter.com/StackCodeReview/status/1068157780866015233
added 7 characters in body
Source Link
greg
  • 1k
  • 1
  • 9
  • 14

Problem

Dupe #Problem Dupe detection for a vector of ints. I simply want a count of the unique input characters that occurred at least twice. The goal is to count a dupe only once and ignore that input character if another dupe of it is seen in the future. A test input could look something like this vector<int> test = { 4,5,9,6,9,9,6,3,4 };

Feedback #Looking for Feedback on

Looking for basic feedback on the data structures I'm using and the possibility of using the vector erase method to iterate and take advantage of the space allocated to my numbers vector instead of using a map to not count dups more than once. Any C++ 11 or 17 features I can take advantage of here too?

int countDuplicates(vector<int> numbers) {
 int dups = 0;
 set<int> s;
 map<int, int> m;
 for (int n : numbers) {
 if (s.insert(n).second == false && m.find(n) == m.end()) {
 dups++;
 m.insert(pair<int, int>(n,0));
 // better to remove from vector than increase space with the map?
 // numbers.erase(remove(numbers.begin(), numbers.end(), n), numbers.end()); 
 } else {
 s.insert(n);
 }
 }
 return dups;
}

Problem

Dupe detection for a vector of ints. I simply want a count of the unique input characters that occurred at least twice. The goal is to count a dupe only once and ignore that input character if another dupe of it is seen in the future. A test input could look something like this vector<int> test = { 4,5,9,6,9,9,6,3,4 };

Feedback

Looking for basic feedback on the data structures I'm using and the possibility of using the vector erase method to iterate and take advantage of the space allocated to my numbers vector instead of using a map to not count dups more than once. Any C++ 11 or 17 features I can take advantage of here too?

int countDuplicates(vector<int> numbers) {
 int dups = 0;
 set<int> s;
 map<int, int> m;
 for (int n : numbers) {
 if (s.insert(n).second == false && m.find(n) == m.end()) {
 dups++;
 m.insert(pair<int, int>(n,0));
 // better to remove from vector than increase space with the map?
 // numbers.erase(remove(numbers.begin(), numbers.end(), n), numbers.end()); 
 } else {
 s.insert(n);
 }
 }
 return dups;
}

#Problem Dupe detection for a vector of ints. I simply want a count of the unique input characters that occurred at least twice. The goal is to count a dupe only once and ignore that input character if another dupe of it is seen in the future. A test input could look something like this vector<int> test = { 4,5,9,6,9,9,6,3,4 };

#Looking for Feedback on

Looking for basic feedback on the data structures I'm using and the possibility of using the vector erase method to iterate and take advantage of the space allocated to my numbers vector instead of using a map to not count dups more than once. Any C++ 11 or 17 features I can take advantage of here too?

int countDuplicates(vector<int> numbers) {
 int dups = 0;
 set<int> s;
 map<int, int> m;
 for (int n : numbers) {
 if (s.insert(n).second == false && m.find(n) == m.end()) {
 dups++;
 m.insert(pair<int, int>(n,0));
 // better to remove from vector than increase space with the map?
 // numbers.erase(remove(numbers.begin(), numbers.end(), n), numbers.end()); 
 } else {
 s.insert(n);
 }
 }
 return dups;
}
added 160 characters in body
Source Link
greg
  • 1k
  • 1
  • 9
  • 14

Problem

DupDupe detection for a vector of ints. I simply want a count of the unique input characters that occurred at least twice. The goal is to count a dupdupe only once and ignore that input character if another dupe of it is seen in the future. A test input could look something like this vector<int> test = { 4,5,9,6,9,9,6,3,4 };

Feedback

Looking for basic feedback on the data structures I'm using and the possibility of using the vector erase method to iterate and take advantage of the space allocated to my numbers vector instead of using a map to not count dups more than once. Any C++ 11 or 17 features I can take advantage of here too?

int countDuplicates(vector<int> numbers) {
 int dups = 0;
 set<int> s;
 map<int, int> m;
 for (int n : numbers) {
 if (s.insert(n).second == false && m.find(n) == m.end()) {
 dups++;
 m.insert(pair<int, int>(n,0));
 // better to remove from vector than increase space with the map?
 // numbers.erase(remove(numbers.begin(), numbers.end(), n), numbers.end()); 
 } else {
 s.insert(n);
 }
 }
 return dups;
}

Problem

Dup detection for a vector of ints. The goal is to count a dup only once.

Feedback

Looking for basic feedback on the data structures I'm using and the possibility of using the vector erase method to iterate and take advantage of the space allocated to my numbers vector instead of using a map to not count dups more than once. Any C++ 11 or 17 features I can take advantage of here too?

int countDuplicates(vector<int> numbers) {
 int dups = 0;
 set<int> s;
 map<int, int> m;
 for (int n : numbers) {
 if (s.insert(n).second == false && m.find(n) == m.end()) {
 dups++;
 m.insert(pair<int, int>(n,0));
 // better to remove from vector than increase space with the map?
 // numbers.erase(remove(numbers.begin(), numbers.end(), n), numbers.end()); 
 } else {
 s.insert(n);
 }
 }
 return dups;
}

Problem

Dupe detection for a vector of ints. I simply want a count of the unique input characters that occurred at least twice. The goal is to count a dupe only once and ignore that input character if another dupe of it is seen in the future. A test input could look something like this vector<int> test = { 4,5,9,6,9,9,6,3,4 };

Feedback

Looking for basic feedback on the data structures I'm using and the possibility of using the vector erase method to iterate and take advantage of the space allocated to my numbers vector instead of using a map to not count dups more than once. Any C++ 11 or 17 features I can take advantage of here too?

int countDuplicates(vector<int> numbers) {
 int dups = 0;
 set<int> s;
 map<int, int> m;
 for (int n : numbers) {
 if (s.insert(n).second == false && m.find(n) == m.end()) {
 dups++;
 m.insert(pair<int, int>(n,0));
 // better to remove from vector than increase space with the map?
 // numbers.erase(remove(numbers.begin(), numbers.end(), n), numbers.end()); 
 } else {
 s.insert(n);
 }
 }
 return dups;
}
Source Link
greg
  • 1k
  • 1
  • 9
  • 14
Loading
lang-cpp

AltStyle によって変換されたページ (->オリジナル) /