Find words which are greater than given length k (original) (raw)

Last Updated : 15 Dec, 2023

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

// C++ program to find all string // which are greater than given length k

#include <bits/stdc++.h> using namespace std;

// function find string greater than // length k void string_k(string s, int k) { // create an empty string string w = ""; // iterate the loop till every space for (int i = 0; i < s.size(); i++) { if (s[i] != ' ')

        // append this sub string in
        // string w
        w = w + s[i];
    else {

        // if length of current sub
        // string w is greater than
        // k then print
        if (w.size() > k)
            cout << w << " ";
        w = "";
    }
}

}

// Driver code int main() { string s = "geek for geeks"; int k = 3; s = s + " "; string_k(s, k); return 0; }

// This code is contributed by // Manish Shaw (manishshaw1)

Java

// Java program to find all string // which are greater than given length k

import java.io.; import java.util.;

public class GFG {

// function find string greater than
// length k
static void string_k(String s, int k)
{
    // create the empty string
    String w = "";

    // iterate the loop till every space
    for (int i = 0; i < s.length(); i++) {
        if (s.charAt(i) != ' ')

            // append this sub string in
            // string w
            w = w + s.charAt(i);
        else {

            // if length of current sub
            // string w is greater than
            // k then print
            if (w.length() > k)
                System.out.print(w + " ");
            w = "";
        }
    }
}

// Driver code
public static void main(String args[])
{
    String s = "geek for geeks";
    int k = 3;
    s = s + " ";
    string_k(s, k);
}

}

// This code is contributed by // Manish Shaw (manishshaw1)

Python

Python program to find all string

which are greater than given length k

function find string greater than length k

def string_k(k, str):

# create the empty string
string = []

# split the string where space is comes
text = str.split(" ")

# iterate the loop till every substring
for x in text:

    # if length of current sub string
    # is greater than k then
    if len(x) > k:

        # append this sub string in
        # string list
        string.append(x)

 # return string list
return string

Driver Program

k = 3 str = "geek for geeks" print(string_k(k, str))

C#

// C# program to find all string // which are greater than given length k

using System;

class GFG {

// function find string greater than
// length k
static void string_k(string s, int k)
{
    // create the empty string
    string w = "";

    // iterate the loop till every space
    for (int i = 0; i < s.Length; i++) {
        if (s[i] != ' ')

            // append this sub string in
            // string w
            w = w + s[i];
        else {

            // if length of current sub
            // string w is greater than
            // k then print
            if (w.Length > k)
                Console.Write(w + " ");
            w = "";
        }
    }
}

// Driver code
static void Main()
{
    string s = "geek for geeks";
    int k = 3;
    s = s + " ";
    string_k(s, k);
}

}

// This code is contributed by // Manish Shaw (manishshaw1)

JavaScript

PHP

i<strlen(i < strlen(i<strlen(s); $i++) { if($s[$i] != ' ') // append this sub inin inw w=w = w=w.$s[$i]; else { // if length of current sub // $w is greater than // k then print if(strlen($w) > $k) echo ($w." "); $w = ""; } } } // Driver code $s = "geek for geeks"; $k = 3; s=s = s=s . " "; string_k($s, $k); // This code is contributed by // Manish Shaw (manishshaw1) ?>

`

**Time Complexity: O(n), where n is the length of the given string.
**Auxiliary Space: O(n)

Method: Using list comprehension

C++ `

#include #include #include #include

using namespace std;

int main() { string sentence = "hello geeks for geeks is computer " "science portal"; int length = 4; vector 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;

}

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

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 + "'")) + "]");
}

}

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

// This code is contributed by codebraxnzt

`

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

C++ `

// C++ program for the above approach #include #include #include #include using namespace std;

// Function to find substring greater than K void stringLengthGreaterThanK(string n, int l) { vector s; string word = "";

// Traverse the given string n
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);
}

// Stores the resultant string
vector<string> filtered;
for (string word : s) {
    if (word.length() > l) {
        filtered.push_back(word);
    }
}

// Print the string
for (string word : filtered) {
    cout << word << " ";
}

}

// Driver Code int main() { string S = "hello geeks for geeks is computer science " "portal"; int K = 4; stringLengthGreaterThanK(S, K);

return 0;

}

Java

// Java program for the above approach

import java.util.*;

public class Main {

// Driver Code
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);
}

}

Python3

Python program for the above approach

Driver Code

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#

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 l = new List();

    foreach(string word in s)
    {
        if(word.Length > K)
        {
            l.Add(word);
        }
    }

    Console.WriteLine(string.Join(", ", l));
}

}

JavaScript

// JavaScript program for the above approach

// Driver Code 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

C++ `

#include #include #include

using namespace std;

int main() { // Define the input sentence and minimum word length string sentence = "hello geeks for geeks is computer science portal"; int length = 4;

// Split the sentence into words and store them in a vector
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);

// Filter out words shorter than the minimum length and store them in a new vector
vector<string> l;
for (int i = 0; i < s.size(); i++) {
    if (s[i].length() > length) {
        l.push_back(s[i]);
    }
}

// Print the filtered words
for (int i = 0; i < l.size(); i++) {
    cout << l[i] << " ";
}
cout << endl;

return 0;

}

Java

// Java program for the above approach

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; // Split the sentence into words using spaces as // delimiters. String[] s = sentence.split(" ");

    // Find the words with length greater than the given
    // length.
    List<String> result = new ArrayList<>();
    for (int i = 0; i < s.length; i++) {
        if (s[i].length() > length) {
            result.add(s[i]);
        }
    }

    // Print the result.
    for (int i = 0; i < result.size(); i++) {
        System.out.print(result.get(i) + " ");
    }
    System.out.println();
}

}

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

C#

// C# code addition find words which are greater than given length k. using System; using System.Collections.Generic;

class GFG { static void Main() { // Define the input sentence and minimum word length string sentence = "hello geeks for geeks is computer science portal"; int length = 4;

    // Split the sentence into words and store them in a list
    List<string> words = new List<string>();
    string word = "";
    foreach (char c in sentence)
    {
        if (c == ' ')
        {
            words.Add(word);
            word = "";
        }
        else
        {
            word += c;
        }
    }
    words.Add(word);

    // Filter out words shorter than the minimum length and store them in a new list
    List<string> filteredWords = new List<string>();
    foreach (string w in words)
    {
        if (w.Length > length)
        {
            filteredWords.Add(w);
        }
    }

    // Print the filtered words
    foreach (string w in filteredWords)
    {
        Console.Write(w + " ");
    }
    Console.WriteLine();
}

}

// The code is contributed by Nidhi goel.

JavaScript

// JavaScript program for the above approach let sentence = "hello geeks for geeks is computer science portal"; let length = 4;

// Split the sentence into words using spaces as delimiters. let words = sentence.split(" ");

// Find the words with length greater than the given length. let result = []; for (let i = 0; i < words.length; i++) { if (words[i].length > length) { result.push(words[i]); } }

// Print the result. console.log(result);

`

Output

['hello', 'geeks', 'geeks', 'computer', 'science', 'portal']

**Time Complexity: O(n), where n is the length of the given string.
**Auxiliary Space: O(n)