# Print all strings of maximum length from an array of strings

Given an array of strings arr[], the task is to print all the strings of maximum length from the given array.

Example:

Input: arr[] = {“aba”, “aa”, “ad”, “vcd”, “aba”}
Output: aba vcd aba
Explanation:
Maximum length among all the strings from the given array is 3.
The strings having length equal to 3 from the array are “aba”, “vcd”, “aba”.

Input: arr[] = {“abb”, “abcd”, “guw”, “v”}
Output: abcd
Explanation:
Maximum length among all the strings from the given array is 4.
The string having length equal to 4 from the array is “abcd”.

Approach: Follow the steps below to solve the problem:

1. Traverse the given array of strings. Calculate the maximum length among all the strings from the array and store it in a variable, say len.
2. Now, traverse the array of string again and print those strings from the array having a length equal to len.

Below is the implementation of the above approach:

## C++

 `// C++ program to implement` `// the above approach`   `#include ` `using` `namespace` `std;`   `// Function to find the length` `// of the longest string from` `// the given array of strings` `int` `maxLength(vector arr)` `{` `    ``int` `len = INT_MIN;` `    ``int` `N = arr.size();`   `    ``// Traverse the array` `    ``for` `(``int` `i = 0; i < N; i++) {`   `        ``// Stores the length` `        ``// of current string` `        ``int` `l = arr[i].size();`   `        ``// Update maximum length` `        ``if` `(len < l) {`   `            ``len = l;` `        ``}` `    ``}`   `    ``// Return the maximum length` `    ``return` `len;` `}`   `// Function to print the` `// longest strings from the array` `void` `maxStrings(vector arr, ``int` `len)` `{` `    ``int` `N = arr.size();` `    ``vector ans;`   `    ``// Find the strings having length` `    ``// equals to len` `    ``for` `(``int` `i = 0; i < N; i++) {` `        ``if` `(len == arr[i].size()) {` `            ``ans.push_back(arr[i]);` `        ``}` `    ``}`   `    ``// Print the resultant` `    ``// vector of strings` `    ``for` `(``int` `i = 0; i < ans.size(); i++) {` `        ``cout << ans[i] << ``" "``;` `    ``}` `}`   `// Function to print all the` `// longest strings from the array` `void` `printStrings(vector& arr)` `{` `    ``// Find the length of longest string` `    ``int` `max = maxLength(arr);`   `    ``// Find and print all the strings` `    ``// having length equals to max` `    ``maxStrings(arr, max);` `}`   `// Driver Code` `int` `main()` `{` `    ``vector arr` `        ``= { ``"aba"``, ``"aa"``, ``"ad"``, ``"vcd"``, ``"aba"` `};` `    ``printStrings(arr);`   `    ``return` `0;` `}`

## Java

 `// Java program to implement` `// the above approach` `import` `java.util.*;`   `class` `GFG{`   `// Function to find the length` `// of the longest String from` `// the given array of Strings` `static` `int` `maxLength(String []arr)` `{` `    ``int` `len = Integer.MIN_VALUE;` `    ``int` `N = arr.length;`   `    ``// Traverse the array` `    ``for``(``int` `i = ``0``; i < N; i++)` `    ``{` `        `  `        ``// Stores the length` `        ``// of current String` `        ``int` `l = arr[i].length();`   `        ``// Update maximum length` `        ``if` `(len < l) ` `        ``{` `            ``len = l;` `        ``}` `    ``}`   `    ``// Return the maximum length` `    ``return` `len;` `}`   `// Function to print the` `// longest Strings from the array` `static` `void` `maxStrings(String []arr, ``int` `len)` `{` `    ``int` `N = arr.length;` `    ``Vector ans = ``new` `Vector();`   `    ``// Find the Strings having length` `    ``// equals to len` `    ``for``(``int` `i = ``0``; i < N; i++)` `    ``{` `        ``if` `(len == arr[i].length())` `        ``{` `            ``ans.add(arr[i]);` `        ``}` `    ``}`   `    ``// Print the resultant` `    ``// vector of Strings` `    ``for``(``int` `i = ``0``; i < ans.size(); i++)` `    ``{` `        ``System.out.print(ans.get(i) + ``" "``);` `    ``}` `}`   `// Function to print all the` `// longest Strings from the array` `static` `void` `printStrings(String [] arr)` `{` `    `  `    ``// Find the length of longest String` `    ``int` `max = maxLength(arr);`   `    ``// Find and print all the Strings` `    ``// having length equals to max` `    ``maxStrings(arr, max);` `}`   `// Driver Code` `public` `static` `void` `main(String[] args)` `{` `    ``String []arr = { ``"aba"``, ``"aa"``, ``"ad"``,` `                     ``"vcd"``, ``"aba"` `};` `                     `  `    ``printStrings(arr);` `}` `}`   `// This code is contributed by Amit Katiyar`

## Python3

 `# Python3 program to implement` `# the above approach` `import` `sys`   `# Function to find the length` `# of the longest string from` `# the given array of strings` `def` `maxLength(arr):`   `    ``lenn ``=` `-``sys.maxsize ``-` `1` `    ``N ``=` `len``(arr)`   `    ``# Traverse the array` `    ``for` `i ``in` `range``(N):`   `        ``# Stores the length` `        ``# of current string` `        ``l ``=` `len``(arr[i])`   `        ``# Update maximum length` `        ``if` `(lenn < l):` `            ``lenn ``=` `l`   `    ``# Return the maximum length` `    ``return` `lenn`   `# Function to print the` `# longest strings from the array` `def` `maxStrings(arr, lenn):`   `    ``N ``=` `len``(arr)` `    ``ans ``=` `[]` `    `  `    ``# Find the strings having lenngth` `    ``# equals to lenn` `    ``for` `i ``in` `range``(N):` `        ``if` `(lenn ``=``=` `len``(arr[i])):` `            ``ans.append(arr[i])`   `    ``# Print the resultant` `    ``# vector of strings` `    ``for` `i ``in` `range``(``len``(ans)):` `        ``print``(ans[i], end ``=` `" "``)`   `# Function to print all the` `# longest strings from the array` `def` `printStrings(arr):`   `    ``# Find the length of longest string` `    ``max` `=` `maxLength(arr)`   `    ``# Find and print all the strings` `    ``# having length equals to max` `    ``maxStrings(arr, ``max``)`   `# Driver Code` `if` `__name__ ``=``=` `'__main__'``:` `    `  `    ``arr ``=` `[ ``"aba"``, ``"aa"``, ``"ad"``, ` `            ``"vcd"``, ``"aba"` `]` `    `  `    ``printStrings(arr)`   `# This code is contributed by mohit kumar 29`

## C#

 `// C# program to implement` `// the above approach` `using` `System;` `using` `System.Collections.Generic;` `class` `GFG{`   `// Function to find the length` `// of the longest String from` `// the given array of Strings` `static` `int` `maxLength(String []arr)` `{` `    ``int` `len = ``int``.MinValue;` `    ``int` `N = arr.Length;`   `    ``// Traverse the array` `    ``for``(``int` `i = 0; i < N; i++)` `    ``{        ` `        ``// Stores the length` `        ``// of current String` `        ``int` `l = arr[i].Length;`   `        ``// Update maximum length` `        ``if` `(len < l) ` `        ``{` `            ``len = l;` `        ``}` `    ``}`   `    ``// Return the maximum length` `    ``return` `len;` `}`   `// Function to print the` `// longest Strings from the array` `static` `void` `maxStrings(String []arr, ` `                       ``int` `len)` `{` `    ``int` `N = arr.Length;` `    ``List ans = ``new` `List();`   `    ``// Find the Strings having length` `    ``// equals to len` `    ``for``(``int` `i = 0; i < N; i++)` `    ``{` `        ``if` `(len == arr[i].Length)` `        ``{` `            ``ans.Add(arr[i]);` `        ``}` `    ``}`   `    ``// Print the resultant` `    ``// vector of Strings` `    ``for``(``int` `i = 0; i < ans.Count; i++)` `    ``{` `        ``Console.Write(ans[i] + ``" "``);` `    ``}` `}`   `// Function to print all the` `// longest Strings from the array` `static` `void` `printStrings(String [] arr)` `{    ` `    ``// Find the length of longest String` `    ``int` `max = maxLength(arr);`   `    ``// Find and print all the Strings` `    ``// having length equals to max` `    ``maxStrings(arr, max);` `}`   `// Driver Code` `public` `static` `void` `Main(String[] args)` `{` `    ``String []arr = {``"aba"``, ``"aa"``, ``"ad"``,` `                    ``"vcd"``, ``"aba"``};                     ` `    ``printStrings(arr);` `}` `}`   `// This code is contributed by Rajput-Ji`

Output:

```aba vcd aba

```

Time Complexity: O(N)
Auxiliary Space: O(N)

Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the DSA Self Paced Course at a student-friendly price and become industry ready.

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.