A string is given, and you have to find all the words (substrings separated by a space) which are greater than the given length k.
Examples:
Input : str = "hello geeks for geeks
is computer science portal"
k = 4
Output : hello geeks geeks computer
science portal
Explanation : The output is list of all
words that are of length more than k.
Input : str = "string is fun in python"
k = 3
Output : string python
The idea is to first split the given string around space. Then traverse through all words. For every word, check
C++
#include <bits/stdc++.h>
using namespace std;
void string_k(string s, int k)
{
string w = "" ;
for ( int i = 0; i < s.size(); i++) {
if (s[i] != ' ' )
w = w + s[i];
else {
if (w.size() > k)
cout << w << " " ;
w = "" ;
}
}
}
int main()
{
string s = "geek for geeks" ;
int k = 3;
s = s + " " ;
string_k(s, k);
return 0;
}
|
C#
using System;
class GFG {
static void string_k( string s, int k)
{
string w = "" ;
for ( int i = 0; i < s.Length; i++) {
if (s[i] != ' ' )
w = w + s[i];
else {
if (w.Length > k)
Console.Write(w + " " );
w = "" ;
}
}
}
static void Main()
{
string s = "geek for geeks" ;
int k = 3;
s = s + " " ;
string_k(s, k);
}
}
|
Java
import java.io.*;
import java.util.*;
public class GFG {
static void string_k(String s, int k)
{
String w = "" ;
for ( int i = 0 ; i < s.length(); i++) {
if (s.charAt(i) != ' ' )
w = w + s.charAt(i);
else {
if (w.length() > k)
System.out.print(w + " " );
w = "" ;
}
}
}
public static void main(String args[])
{
String s = "geek for geeks" ;
int k = 3 ;
s = s + " " ;
string_k(s, k);
}
}
|
Python
def string_k(k, str ):
string = []
text = str .split( " " )
for x in text:
if len (x) > k:
string.append(x)
return string
k = 3
str = "geek for geeks"
print (string_k(k, str ))
|
PHP
<?php
function string_k( $s , $k )
{
$w = "" ;
for ( $i = 0; $i < strlen ( $s ); $i ++)
{
if ( $s [ $i ] != ' ' )
$w = $w . $s [ $i ];
else {
if ( strlen ( $w ) > $k )
echo ( $w . " " );
$w = "" ;
}
}
}
$s = "geek for geeks" ;
$k = 3;
$s = $s . " " ;
string_k( $s , $k );
?>
|
Javascript
<script>
function string_k( s , k) {
var w = "" ;
for (i = 0; i < s.length; i++) {
if (s.charAt(i) != ' ' )
w = w + s.charAt(i);
else {
if (w.length > k)
document.write(w + " " );
w = "" ;
}
}
}
var s = "geek for geeks" ;
var k = 3;
s = s + " " ;
string_k(s, k);
</script>
|
Time Complexity: O(n), where n is the length of the given string.
Auxiliary Space: O(n)
Method: Using list comprehension
C++
#include <iostream>
#include <sstream>
#include <string>
#include <vector>
using namespace std;
int main()
{
string sentence = "hello geeks for geeks is computer "
"science portal" ;
int length = 4;
vector<string> words;
stringstream ss(sentence);
string word;
while (ss >> word) {
if (word.length() > length) {
words.push_back(word);
}
}
for ( const auto & w : words) {
cout << w << " " ;
}
cout << endl;
return 0;
}
|
C#
using System;
using System.Linq;
class Program
{
static void Main( string [] args)
{
string sentence = "hello geeks for geeks is computer science portal" ;
int length = 4;
var words = sentence.Split( ' ' ).Where(word => word.Length > length).ToArray();
Console.WriteLine( "[" + string .Join( ", " , words.Select(w => "'" + w + "'" )) + "]" );
}
}
|
Java
import java.util.Arrays;
public class Main {
public static void main(String[] args)
{
String sentence
= "hello geeks for geeks is computer science portal" ;
int length = 4 ;
String[] words
= Arrays.stream(sentence.split( " " ))
.filter(word -> word.length() > length)
.toArray(String[] :: new );
System.out.println(Arrays.toString(words));
}
}
|
Python3
sentence = "hello geeks for geeks is computer science portal"
length = 4
print ([word for word in sentence.split() if len (word) > length])
|
Javascript
let sentence = "hello geeks for geeks is computer science portal" ;
let length = 4;
let words = sentence.split( " " ).filter(word => word.length > length);
console.log(words);
|
Output
['hello', 'geeks', 'geeks', 'computer', 'science', 'portal']
Time Complexity: O(n), where n is the length of the given string.
Auxiliary Space: O(n)
Method: Using lambda function
Python3
S = "hello geeks for geeks is computer science portal"
K = 4
s = S.split( " " )
l = list ( filter ( lambda x: ( len (x) > K), s))
print (l)
|
C++
#include <algorithm>
#include <iostream>
#include <string>
#include <vector>
using namespace std;
void stringLengthGreaterThanK(string n, int l)
{
vector<string> s;
string word = "" ;
for ( char c : n) {
if (c == ' ' ) {
if (word.length() > 0) {
s.push_back(word);
word = "" ;
}
}
else {
word += c;
}
}
if (word.length() > 0) {
s.push_back(word);
}
vector<string> filtered;
for (string word : s) {
if (word.length() > l) {
filtered.push_back(word);
}
}
for (string word : filtered) {
cout << word << " " ;
}
}
int main()
{
string S = "hello geeks for geeks is computer science "
"portal" ;
int K = 4;
stringLengthGreaterThanK(S, K);
return 0;
}
|
Java
import java.util.*;
public class Main {
public static void main(String[] args)
{
String S = "hello geeks for geeks is computer science portal" ;
int K = 4 ;
String[] s = S.split( " " );
List<String> l = new ArrayList<>();
for (String str : s) {
if (str.length() > K) {
l.add(str);
}
}
System.out.println(l);
}
}
|
C#
using System;
using System.Linq;
using System.Collections.Generic;
public class Program
{
public static void Main()
{
string S = "hello geeks for geeks is computer science portal" ;
int K = 4;
string [] s = S.Split( ' ' );
List< string > l = new List< string >();
foreach ( string word in s)
{
if (word.Length > K)
{
l.Add(word);
}
}
Console.WriteLine( string .Join( ", " , l));
}
}
|
Javascript
let S = "hello geeks for geeks is computer science portal" ;
let K = 4;
let s = S.split( " " );
let l = s.filter((x) => x.length > K);
console.log(l);
|
Output
['hello', 'geeks', 'geeks', 'computer', 'science', 'portal']
Time Complexity: O(n), where n is the length of the given string.
Auxiliary Space: O(n)
Method: Using the enumerate function
Python3
sentence = "hello geeks for geeks is computer science portal"
length = 4
s = sentence.split()
print ([a for i, a in enumerate (s) if len (a) > length])
|
Java
import java.util.ArrayList;
import java.util.List;
public class Main {
public static void main(String[] args)
{
String sentence
= "hello geeks for geeks is computer science portal" ;
int length = 4 ;
String[] s = sentence.split( " " );
List<String> result = new ArrayList<>();
for ( int i = 0 ; i < s.length; i++) {
if (s[i].length() > length) {
result.add(s[i]);
}
}
for ( int i = 0 ; i < result.size(); i++) {
System.out.print(result.get(i) + " " );
}
System.out.println();
}
}
|
C++
#include <iostream>
#include <string>
#include <vector>
using namespace std;
int main() {
string sentence = "hello geeks for geeks is computer science portal" ;
int length = 4;
vector<string> s;
string word;
for ( int i = 0; i < sentence.length(); i++) {
if (sentence[i] == ' ' ) {
s.push_back(word);
word = "" ;
} else {
word += sentence[i];
}
}
s.push_back(word);
vector<string> l;
for ( int i = 0; i < s.size(); i++) {
if (s[i].length() > length) {
l.push_back(s[i]);
}
}
for ( int i = 0; i < l.size(); i++) {
cout << l[i] << " " ;
}
cout << endl;
return 0;
}
|
Output
['hello', 'geeks', 'geeks', 'computer', 'science', 'portal']
Time Complexity: O(n), where n is the length of the given string.
Auxiliary Space: O(n)
Feeling lost in the world of random DSA topics, wasting time without progress? It's time for a change! Join our DSA course, where we'll guide you on an exciting journey to master DSA efficiently and on schedule.
Ready to dive in? Explore our Free Demo Content and join our DSA course, trusted by over 100,000 geeks!