# Find the String having each substring with exactly K distinct characters

• Last Updated : 16 Sep, 2022

Given two integers N and K. The task is to find the string of length N, such that each substring of length greater than equal to K, has exactly K distinct characters.

Examples:

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.

Approach:
To solve the problem mentioned above the main idea is to print distinct elements up to length K, and then repeat the same elements up to N
Below is the implementation of the above approach:

## C++

 `// C++ Program to Find the``// String having each substring``// with exactly K distinct characters``#include ``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

 ``

Output:

`ABCABCABCA`

Time Complexity:O(N)
Auxiliary Space: O(1)

My Personal Notes arrow_drop_up