Print all strings of maximum length from an array of strings
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:
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:
- 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.
- 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++
#include <bits/stdc++.h>
using namespace std;
int maxLength(vector<string> arr)
{
int len = INT_MIN;
int N = arr.size();
for ( int i = 0; i < N; i++) {
int l = arr[i].size();
if (len < l) {
len = l;
}
}
return len;
}
void maxStrings(vector<string> arr, int len)
{
int N = arr.size();
vector<string> ans;
for ( int i = 0; i < N; i++) {
if (len == arr[i].size()) {
ans.push_back(arr[i]);
}
}
for ( int i = 0; i < ans.size(); i++) {
cout << ans[i] << " " ;
}
}
void printStrings(vector<string>& arr)
{
int max = maxLength(arr);
maxStrings(arr, max);
}
int main()
{
vector<string> arr
= { "aba" , "aa" , "ad" , "vcd" , "aba" };
printStrings(arr);
return 0;
}
|
Java
import java.util.*;
class GFG{
static int maxLength(String []arr)
{
int len = Integer.MIN_VALUE;
int N = arr.length;
for ( int i = 0 ; i < N; i++)
{
int l = arr[i].length();
if (len < l)
{
len = l;
}
}
return len;
}
static void maxStrings(String []arr, int len)
{
int N = arr.length;
Vector<String> ans = new Vector<String>();
for ( int i = 0 ; i < N; i++)
{
if (len == arr[i].length())
{
ans.add(arr[i]);
}
}
for ( int i = 0 ; i < ans.size(); i++)
{
System.out.print(ans.get(i) + " " );
}
}
static void printStrings(String [] arr)
{
int max = maxLength(arr);
maxStrings(arr, max);
}
public static void main(String[] args)
{
String []arr = { "aba" , "aa" , "ad" ,
"vcd" , "aba" };
printStrings(arr);
}
}
|
Python3
import sys
def maxLength(arr):
lenn = - sys.maxsize - 1
N = len (arr)
for i in range (N):
l = len (arr[i])
if (lenn < l):
lenn = l
return lenn
def maxStrings(arr, lenn):
N = len (arr)
ans = []
for i in range (N):
if (lenn = = len (arr[i])):
ans.append(arr[i])
for i in range ( len (ans)):
print (ans[i], end = " " )
def printStrings(arr):
max = maxLength(arr)
maxStrings(arr, max )
if __name__ = = '__main__' :
arr = [ "aba" , "aa" , "ad" ,
"vcd" , "aba" ]
printStrings(arr)
|
C#
using System;
using System.Collections.Generic;
class GFG{
static int maxLength(String []arr)
{
int len = int .MinValue;
int N = arr.Length;
for ( int i = 0; i < N; i++)
{
int l = arr[i].Length;
if (len < l)
{
len = l;
}
}
return len;
}
static void maxStrings(String []arr,
int len)
{
int N = arr.Length;
List<String> ans = new List<String>();
for ( int i = 0; i < N; i++)
{
if (len == arr[i].Length)
{
ans.Add(arr[i]);
}
}
for ( int i = 0; i < ans.Count; i++)
{
Console.Write(ans[i] + " " );
}
}
static void printStrings(String [] arr)
{
int max = maxLength(arr);
maxStrings(arr, max);
}
public static void Main(String[] args)
{
String []arr = { "aba" , "aa" , "ad" ,
"vcd" , "aba" };
printStrings(arr);
}
}
|
Javascript
<script>
function maxLength(arr)
{
let len = Number.MIN_VALUE;
let N = arr.length;
for (let i = 0; i < N; i++)
{
let l = arr[i].length;
if (len < l)
{
len = l;
}
}
return len;
}
function maxStrings(arr,len)
{
let N = arr.length;
let ans = [];
for (let i = 0; i < N; i++)
{
if (len == arr[i].length)
{
ans.push(arr[i]);
}
}
for (let i = 0; i < ans.length; i++)
{
document.write(ans[i] + " " );
}
}
function printStrings(arr)
{
let max = maxLength(arr);
maxStrings(arr, max);
}
let arr=[ "aba" , "aa" , "ad" ,
"vcd" , "aba" ];
printStrings(arr);
</script>
|
Time Complexity: O(N)
Auxiliary Space: O(N)
Like Article
Suggest improvement
Share your thoughts in the comments
Please Login to comment...