# String with maximum number of unique characters

Given a list of strings, find the largest string among all. Largest string is the string with largest number of unique characters.

Example :

```Input : "AN KOW", "LO JO", "ZEW DO RO"
Output : "ZEW DO RO"
Explanation :
"ZEW DO RO" has maximum distinct letters.

Input : "ROMEO", "EMINEM", "RADO"
Output : "ROMEO"
Explanation : In case of tie, we can print
any of the strings.
```

## Recommended: Please try your approach on {IDE} first, before moving on to the solution.

We iterate over the strings, and take a boolean array to check the presence of letters. Also, keep track of maximum unique letters. Return the string with maximum number of distinct characters.

## C++

 `// C++ code to find  ` `// the largest string ` `#include ` `using` `namespace` `std; ` ` `  `// Function to find string  ` `// with maximum number of  ` `// unique characters. ` `void` `LargestString(string *na) ` `{ ` `    ``int` `N = ``sizeof``(na) /  ` `            ``sizeof``(na[0]); ` `    ``int` `c[N]; ` ` `  `    ``// Index of string with  ` `    ``// maximum unique characters ` `    ``int` `m = 1; ` ` `  `    ``// iterate through ` `    ``// all strings ` `    ``for` `(``int` `j = 0; j < N; j++) ` `    ``{ ` `        ``// array indicating any  ` `        ``// alphabet included or ` `        ``// not included ` `        ``bool` `character[26]; ` ` `  `        ``// count number of unique  ` `        ``// alphabets in each string ` `        ``for` `(``int` `k = 0; k < na[j].size(); k++) ` `        ``{ ` `            ``int` `x = (``int``)(na[j][k] - ``'A'``); ` `            ``if` `(na[j][k] != ``' '` `&&  ` `                ``character[x] == ``false``) ` `            ``{ ` `                ``c[j]++; ` `                ``character[x] = ``true``; ` `            ``} ` `        ``} ` ` `  `        ``// keep track of maximum  ` `        ``// number of alphabets ` `        ``if` `(c[j] > c[m]) ` `            ``m = j; ` `    ``} ` ` `  `    ``// print result ` `    ``cout << na[m] << endl; ` `} ` ` `  `// Driver code ` `int` `main() ` `{ ` `    ``string na[] = {``"BOB"``, ``"A AB C JOHNSON"``, ` `                   ``"ANJALI"``,``"ASKRIT"``,  ` `                   ``"ARMAN MALLIK"``}; ` ` `  `    ``LargestString(na); ` `} ` ` `  `// This code is contributed by ` `// Manish Shaw(manishshaw1) `

## Java

 `// Java code to find the largest string ` `import` `java.lang.*; ` `import` `java.io.*; ` `import` `java.util.Arrays; ` ` `  `class` `Geek { ` ` `  `    ``// Function to find string with maximum ` `    ``// number of unique characters. ` `    ``public` `static` `void` `LargestString(String na[]) ` `    ``{ ` `        ``int` `N = na.length; ` `        ``int` `c[] = ``new` `int``[N]; ` ` `  `        ``// Index of string with maximum unique ` `        ``// characters ` `        ``int` `m = ``0``; ` ` `  `        ``// iterate through all strings ` `        ``for` `(``int` `j = ``0``; j < N; j++) ` `        ``{ ` `            ``// array indicating any alphabet ` `            ``// included or not included ` `            ``boolean` `character[] = ``new` `boolean``[``26``]; ` ` `  `            ``// count number of unique alphabets in each string ` `            ``for` `(``int` `k = ``0``; k < na[j].length(); k++) ` `            ``{ ` `                ``int` `x = na[j].charAt(k) - ``'A'``; ` `                ``if` `((na[j].charAt(k) != ``' '``) && ` `                        ``(character[x] == ``false``)) ` `                ``{ ` `                    ``c[j]++; ` `                    ``character[x] = ``true``; ` `                ``} ` `            ``} ` ` `  `            ``// keep track of maximum number of alphabets ` `            ``if` `(c[j] > c[m]) ` `                ``m = j; ` `        ``} ` ` `  `        ``// print result ` `        ``System.out.println(na[m]); ` `    ``} ` ` `  `    ``// Driver code ` `    ``public` `static` `void` `main(String[] args) ` `    ``{ ` `        ``String na[] = {``"BOB"``, ``"A AB C JOHNSON"``,``"ANJALI"``, ` `                       ``"ASKRIT"``, ``"ARMAN MALLIK"``}; ` ` `  `        ``LargestString(na); ` `    ``} ` `} `

## Python3

 `# Python3 code to find the largest string ` ` `  `# Function to find string with maximum ` `# number of unique characters. ` `def` `LargestString(na): ` `    ``N ``=` `len``(na) ` `    ``c ``=` `[``0``] ``*` `N ` `     `  `    ``# Index of string with ` `    ``# maximum unique characters ` `    ``m ``=` `0` `     `  `    ``# Iterate through all strings ` `    ``for` `j ``in` `range``(N): ` `         `  `        ``# Array indicating any alphabet ` `        ``# included or not included ` `        ``character ``=` `[``False``] ``*` `26` `         `  `        ``# count number of unique ` `        ``# alphabets in each string ` `        ``for` `k ``in` `range``(``len``(na[j])): ` `            ``x ``=` `ord``(na[j][k]) ``-` `ord``(``'A'``) ` `             `  `            ``if` `((na[j][k] !``=` `' '``) ``and` `(character[x] ``=``=` `False``)): ` `                ``c[j] ``+``=` `1` `                ``character[x] ``=` `True` `             `  `            ``# keep track of maximum ` `            ``# number of alphabets ` `            ``if` `(c[j] > c[m]): ` `                ``m ``=` `j ` `                 `  `    ``# print result ` `    ``print``(na[m]) ` ` `  `# Driver code ` `na ``=` `[``"BOB"``, ``"A AB C JOHNSON"``,``"ANJALI"``, ` `                ``"ASKRIT"``, ``"ARMAN MALLIK"``] ` `LargestString(na) ` ` `  `# This article is Contributed by Sharad Bhardwaj. `

## C#

 `// C# code to find the largest string ` `using` `System; ` ` `  `class` `GFG { ` ` `  `    ``// Function to find string with maximum ` `    ``// number of unique characters. ` `    ``public` `static` `void` `LargestString(``string` `[]na) ` `    ``{ ` `        ``int` `N = na.Length; ` `        ``int` `[]c = ``new` `int``[N]; ` ` `  `        ``// Index of string with maximum unique ` `        ``// characters ` `        ``int` `m = 0; ` ` `  `        ``// iterate through all strings ` `        ``for` `(``int` `j = 0; j < N; j++) ` `        ``{ ` `            ``// array indicating any alphabet ` `            ``// included or not included ` `            ``bool` `[]character = ``new` `bool``[26]; ` ` `  `            ``// count number of unique alphabets  ` `            ``// in each string ` `            ``for` `(``int` `k = 0; k < na[j].Length; k++) ` `            ``{ ` `                ``int` `x = na[j][k] - ``'A'``; ` `                 `  `                ``if` `((na[j][k] != ``' '``) && ` `                        ``(character[x] == ``false``)) ` `                ``{ ` `                    ``c[j]++; ` `                    ``character[x] = ``true``; ` `                ``} ` `            ``} ` ` `  `            ``// keep track of maximum number of ` `            ``// alphabets ` `            ``if` `(c[j] > c[m]) ` `                ``m = j; ` `        ``} ` ` `  `        ``// print result ` `        ``Console.Write(na[m]); ` `    ``} ` ` `  `    ``// Driver code ` `    ``public` `static` `void` `Main() ` `    ``{ ` `        ``string` `[]na = {``"BOB"``, ``"A AB C JOHNSON"``, ` `           ``"ANJALI"``, ``"ASKRIT"``, ``"ARMAN MALLIK"``}; ` ` `  `        ``LargestString(na); ` `    ``} ` `} ` ` `  `// This code is contributed by nitin mittal. `

## PHP

 ` ``\$c``[``\$m``]) ` `            ``\$m` `= ``\$j``; ` `    ``} ` ` `  `    ``// print result ` `    ``echo` `\$na``[``\$m``].``"\n"``; ` `} ` ` `  `// Driver code ` `\$na` `= ``array``(``"BOB"``, ``"A AB C JOHNSON"``, ` `            ``"ASKRIT"``, ``"ARMAN MALLIK"``, ` `                           ``"ANJALI"``); ` `LargestString(``\$na``); ` ` `  `// This code is contributed by mits  ` `?> `

Output :

```A AB C JOHNSON
```

My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.

Article Tags :
Practice Tags :

Be the First to upvote.

Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.