Connection Status:
Competition Arena > Aaagmnrs
SRM 204 · 2004-07-21 · by vorthys · Sorting, String Manipulation
Class Name: Aaagmnrs
Return Type: String[]
Method Name: anagrams
Arg Types: (vector<string>)
Problem Statement

Problem Statement

Two phrases are anagrams if they are permutations of each other, ignoring spaces and capitalization. For example, "Aaagmnrs" is an anagram of "anagrams", and "TopCoder" is an anagram of "Drop Cote". Given a String[] phrases, remove each phrase that is an anagram of an earlier phrase, and return the remaining phrases in their original order.

Constraints

  • phrases contains between 2 and 50 elements, inclusive.
  • Each element of phrases contains between 1 and 50 characters, inclusive.
  • Each element of phrases contains letters ('a'-'z' and 'A'-'Z') and spaces (' ') only.
  • Each element of phrases contains at least one letter.
Examples
0)
{ "Aaagmnrs", "TopCoder", "anagrams", "Drop Cote" }
Returns: { "Aaagmnrs",  "TopCoder" }

The examples above.

1)
{ "SnapDragon vs tomek", "savants groped monk", "Adam vents prongs ok" }
Returns: { "SnapDragon vs tomek" }
2)
{ "Radar ghost jilts Kim", "patched hers first",
  "DEPTH FIRST SEARCH", "DIJKSTRAS ALGORITHM" }
Returns: { "Radar ghost jilts Kim",  "patched hers first" }
3)
{ "q", "q" }
Returns: { "q" }
4)
{ "Q", "q" }
Returns: { "Q" }

Submissions are judged against all 57 archived test cases, of which 5 are shown here. Case numbers match the judge’s.

Coding Area

Language: C++17 · define a public class Aaagmnrs with a public method vector<string> anagrams(vector<string> phrases) · 57 test cases · 2 s / 256 MB per case

Submitting as anonymous