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++

filter_none

edit
close

play_arrow

link
brightness_4
code

// C++ program to implement
// the above approach
 
#include <bits/stdc++.h>
using namespace std;
 
// Function to find the length
// of the longest string from
// the given array of strings
int maxLength(vector<string> 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<string> arr, int len)
{
    int N = arr.size();
    vector<string> 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<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
int main()
{
    vector<string> arr
        = { "aba", "aa", "ad", "vcd", "aba" };
    printStrings(arr);
 
    return 0;
}

chevron_right


Java

filter_none

edit
close

play_arrow

link
brightness_4
code

// 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<String> ans = new Vector<String>();
 
    // 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

chevron_right


Python3

filter_none

edit
close

play_arrow

link
brightness_4
code

# 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

chevron_right


C#

filter_none

edit
close

play_arrow

link
brightness_4
code

// 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<String> ans = new List<String>();
 
    // 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

chevron_right


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

Recommended Posts:


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.