Substrings únicas contiguas con la longitud dada L

Dada una string str y un entero L . La tarea es imprimir todas las substrings únicas de longitud L de la string str .

Ejemplos:

Entrada: str = “abca”, L=3
Salida: “abc”, “bca”

Entrada: str = “aaaa”, L=3
Salida: “aaa”

Enfoque:
en primer lugar, genere toda la substring de longitud L y luego, usando set, podemos insertar una substring única hasta la longitud L y luego imprimir el resultado.

A continuación se muestra la implementación del enfoque anterior:

C++

// C++ implementation
#include <bits/stdc++.h>
using namespace std;
  
// Function to print the
// unique sub-string of length n
void result(string s, int n)
{
    // set to store the strings
    unordered_set<string> st;
  
    for (int i = 0; i < (int)s.size(); i++) {
  
        string ans = "";
        for (int j = i; j < (int)s.size(); j++) {
  
            ans += s[j];
  
            // if the size of the string
            // is equal to 1 then insert
            if (ans.size() == n) {
  
                // inserting unique
                // sub-string of length L
                st.insert(ans);
                break;
            }
        }
    }
  
    // Printing the set of strings
    for (auto it : st)
        cout << it << " ";
}
  
// Driver Code
int main()
{
    string s = "abca";
    int n = 3;
  
    // Function calling
    result(s, n);
    return 0;
}

Java

// Java implementation of above approach
import java.util.*;
class GFG 
{
  
// Function to print the
// unique sub-String of length n
static void result(String s, int n)
{
    // set to store the Strings
    HashSet<String> st = new HashSet<String>();
  
    for (int i = 0; i < (int)s.length(); i++) 
    {
        String ans = "";
        for (int j = i; j < (int)s.length(); j++)
        {
            ans += s.charAt(j);
  
            // if the size of the String
            // is equal to 1 then insert
            if (ans.length()== n)
            {
  
                // inserting unique
                // sub-String of length L
                st.add(ans);
                break;
            }
        }
    }
  
    // Printing the set of Strings
    for (String it : st)
        System.out.print(it + " ");
}
  
// Driver Code
public static void main(String[] args)
{
    String s = "abca";
    int n = 3;
  
    // Function calling
    result(s, n);
}
}
  
// This code is contributed by 29AjayKumar

Python3

# Python3 implementation of the above approach 
  
# Function to print the 
# unique sub-string of length n 
def result(s, n) : 
  
    # set to store the strings 
    st = set(); 
  
    for i in range(len(s)) : 
  
        ans = ""; 
        for j in range(i, len(s)) :
  
            ans += s[j]; 
  
            # if the size of the string 
            # is equal to 1 then insert 
            if (len(ans) == n) :
  
                # inserting unique 
                # sub-string of length L 
                st.add(ans); 
                break; 
  
    # Printing the set of strings 
    for it in st :
        print(it, end = " "); 
  
# Driver Code 
if __name__ == "__main__" : 
  
    s = "abca"; 
    n = 3; 
  
    # Function calling 
    result(s, n); 
  
# This code is contributed by AnkitRai01

C#

// C# implementation for above approach
using System;
using System.Collections.Generic; 
      
class GFG 
{
  
// Function to print the
// unique sub-String of length n
static void result(String s, int n)
{
    // set to store the Strings
    HashSet<String> st = new HashSet<String>();
  
    for (int i = 0; i < s.Length; i++) 
    {
        String ans = "";
        for (int j = i; j < s.Length; j++)
        {
            ans += s[j];
  
            // if the size of the String
            // is equal to 1 then insert
            if (ans.Length == n)
            {
  
                // inserting unique
                // sub-String of length L
                st.Add(ans);
                break;
            }
        }
    }
  
    // Printing the set of Strings
    foreach (String it in st)
        Console.Write(it + " ");
}
  
// Driver Code
public static void Main(String[] args)
{
    String s = "abca";
    int n = 3;
  
    // Function calling
    result(s, n);
}
}
  
// This code is contributed by 29AjayKumar
Producción:

bca abc

Publicación traducida automáticamente

Artículo escrito por rohit kumar 61 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *