# String with maximum number of unique characters

• Difficulty Level : Medium
• Last Updated : 07 Mar, 2022

Given a list of strings, find the largest string among all. The largest string is the string with the 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.```

We iterate over the strings and take a boolean array to check the presence of letters. Also, keep track of the maximum unique letters. Return the string with the 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``?>`

## Javascript

 ``

Output:

`A AB C JOHNSON`

My Personal Notes arrow_drop_up