Skip to content
Related Articles

Related Articles

Improve Article
Save Article
Like Article

Print all strings of maximum length from an array of strings

  • Difficulty Level : Easy
  • Last Updated : 22 Jun, 2021

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

Example:

Attention reader! All those who say programming isn't for kids, just haven't met the right mentors yet. Join the  Demo Class for First Step to Coding Coursespecifically designed for students of class 8 to 12. 

The students will get to learn more about the world of programming in these free classes which will definitely help them in making a wise career choice in the future.

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 <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;
}

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

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 length
    # 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<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

Javascript




<script>
// Javascript program to implement
// the above approach
 
// Function to find the length
// of the longest String from
// the given array of Strings
function  maxLength(arr)
{
    let len = Number.MIN_VALUE;
    let N = arr.length;
  
    // Traverse the array
    for(let i = 0; i < N; i++)
    {
          
        // Stores the length
        // of current String
        let 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
function maxStrings(arr,len)
{
    let N = arr.length;
    let ans = [];
  
    // Find the Strings having length
    // equals to len
    for(let i = 0; i < N; i++)
    {
        if (len == arr[i].length)
        {
            ans.push(arr[i]);
        }
    }
  
    // Print the resultant
    // vector of Strings
    for(let i = 0; i < ans.length; i++)
    {
        document.write(ans[i] + " ");
    }
}
 
// Function to print all the
// longest Strings from the array
function printStrings(arr)
{
    // Find the length of longest String
    let max = maxLength(arr);
  
    // Find and print all the Strings
    // having length equals to max
    maxStrings(arr, max);
}
 
// Driver Code
let arr=["aba", "aa", "ad",
                     "vcd", "aba" ];
printStrings(arr);
 
 
 
// This code is contributed by unknown2108
</script>
Output: 
aba vcd aba

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




My Personal Notes arrow_drop_up
Recommended Articles
Page :