Dados dos enteros N y K . La tarea es encontrar la string de longitud N , tal que cada substring de longitud mayor que igual a K , tenga exactamente K caracteres distintos.
Ejemplos:
Input: N=10, K=3 Output : ABCABCABCA Explanation: The output string has 3 distinct characters. Input : N=20, K=7 Output : ABCDEFGABCDEFGABCDEF Explanation: The output string has 7 distinct characters.
Enfoque:
para resolver el problema mencionado anteriormente, la idea principal es imprimir distintos elementos hasta la longitud K y luego repetir los mismos elementos hasta N.
A continuación se muestra la implementación del enfoque anterior:
C++
// C++ Program to Find the // String having each substring // with exactly K distinct characters #include <bits/stdc++.h> using namespace std; // Function to find the // required output string void findString(int N, int K) { // Each element at index // i is modulus of K for (int i = 0; i < N; i++) { cout << char('A' + i % K); } } // Driver code int main() { // initialise integers N and K int N = 10; int K = 3; findString(N, K); return 0; }
Java
// Java program to find the // string having each substring // with exactly K distinct characters import java.io.*; class GFG { // Function to find the // required output string static void findString(int N, int K) { // Each element at index // i is modulus of K for (int i = 0; i < N; i++) { System.out.print((char)('A' + i % K)); } } // Driver code public static void main(String[] args) { // Initialise integers N and K int N = 10; int K = 3; findString(N, K); } } // This code is contributed by shivanisinghss2110
Python3
# Python3 Program to Find the # String having each substring # with exactly K distinct characters # Function to find the # required output string def findString(N, K) : # Each element at index # i is modulus of K for i in range(N) : print(chr(ord('A') + i % K),end=""); # Driver code if __name__ == "__main__" : # initialise integers N and K N = 10; K = 3; findString(N, K); # This code is contributed by AnkitRai01
C#
// C# program to find the // string having each substring // with exactly K distinct characters using System; class GFG { // Function to find the // required output string static void findString(int N, int K) { // Each element at index // i is modulus of K for(int i = 0; i < N; i++) { Console.Write((char)('A' + i % K)); } } // Driver code public static void Main(String[] args) { // Initialise integers N and K int N = 10; int K = 3; findString(N, K); } } // This code is contributed by 29AjayKumar
Javascript
<script> // Javascript Program to Find the // String having each substring // with exactly K distinct characters // Function to find the // required output string function findString(N, K) { // Each element at index // i is modulus of K for (let i = 0; i < N; i++) { document.write(String.fromCharCode('A'.charCodeAt() + i % K)); } } // initialise integers N and K let N = 10; let K = 3; findString(N, K); // This code is contributed by divyesh072019. </script>
Producción:
ABCABCABCA
Complejidad de tiempo: O(N)
Publicación traducida automáticamente
Artículo escrito por epistler_999 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA