K'th nekonservuojantis personažas
Duota eilutė str ilgio n (1 <= n <= 10 6 ) ir skaičius k Užduotis yra rasti KTH nekartojantį simbolią eilutėje.
Pavyzdžiai:
Įvestis: str = geeksforgeeks k = 3
Išvestis: r
Paaiškinimas: Pirmasis nekartojantis pobūdis yra f antrasis yra o, o trečiasis-r.Įvestis: str = geeksforgeeks k = 2
Išvestis:Įvestis : str = geeksforgeeks k = 4
Išvestis: Mažiau nei K nekartojančių simbolių įvestyje.
Ši problema daugiausia yra Pirmoji nekartojanti charakterio problema .
K'th nekonservuojantis personažas, naudojant įdėtą kilpą:
Paprastas sprendimas yra paleisti dvi kilpas. Pradėkite važiuoti iš kairės pusės. Kiekvienam simboliui patikrinkite, ar jis kartojasi, ar ne. Jei simbolis nekartoja padidinti nesikartojančių simbolių skaičiaus. Kai co į nt tampa k grąžinti personažą.
Žemiau pateikiama aukščiau pateiktos idėjos įgyvendinimas:
C++ // Include all standard libraries #include using namespace std ; // Define a function to find the kth non-repeating character // in a string char kthNonRepeatingChar ( string str int k ) { // Initialize count and result variables to 0 and null // character respectively int count = 0 ; char result = ' ' ; // Loop through each character in the string for ( int i = 0 ; i < str . length (); i ++ ) { // Assume that the current character does not repeat bool repeating = false ; // Loop through the rest of the string to check if // the current character repeats for ( int j = 0 ; j < i ; j ++ ) { if ( str [ j ] == str [ i ]) { repeating = true ; } } for ( int j = i + 1 ; j < str . length (); j ++ ) { if ( str [ i ] == str [ j ]) { // If the current character repeats set the // repeating flag to true and exit the loop repeating = true ; } } // If the current character does not repeat // increment the count of non-repeating characters if ( ! repeating ) { count ++ ; // If the count of non-repeating characters // equals k set the result variable to the // current character and exit the loop if ( count == k ) { result = str [ i ]; break ; } } } // Return the result variable return result ; } // Define the main function to test the kthNonRepeatingChar // function int main () { // Define an example string and value of k string str = 'geeksforgeeks' ; int k = 3 ; // Call the kthNonRepeatingChar function with the // example string and value of k char result = kthNonRepeatingChar ( str k ); // Check if the result variable contains a non-null // character and print the appropriate message if ( result == ' ' ) { cout < < 'There is no kth non-repeating character ' 'in the string. n ' ; } else { cout < < 'The ' < < k < < 'th non-repeating character in the string ' 'is ' < < result < < '. n ' ; } // End the program return 0 ; }
Java // Import required libraries import java.util.* ; // Define a class to find the kth non-repeating character // in a string public class Main { public static char kthNonRepeatingChar ( String str int k ) { // Initialize count and result variables to 0 and // null character respectively int count = 0 ; char result = ' ' ; // Loop through each character in the string for ( int i = 0 ; i < str . length (); i ++ ) { // Assume that the current character does not // repeat boolean repeating = false ; // Loop through the rest of the string to check // if the current character repeats for ( int j = i + 1 ; j < str . length (); j ++ ) { if ( str . charAt ( i ) == str . charAt ( j )) { // If the current character repeats set // the repeating flag to true and exit // the loop repeating = true ; break ; } } // If the current character does not repeat // increment the count of non-repeating // characters if ( ! repeating ) { count ++ ; // If the count of non-repeating characters // equals k set the result variable to the // current character and exit the loop if ( count == k ) { result = str . charAt ( i ); break ; } } } // Return the result variable return result ; } // Define the main function to test the // kthNonRepeatingChar function public static void main ( String [] args ) { // Define an example string and value of k String str = 'geeksforgeeks' ; int k = 3 ; // Call the kthNonRepeatingChar function with the // example string and value of k char result = kthNonRepeatingChar ( str k ); // Check if the result variable contains a non-null // character and print the appropriate message if ( result == ' ' ) { System . out . println ( 'There is no kth non-repeating character ' + 'in the string.' ); } else { System . out . println ( 'The ' + k + 'th non-repeating character in the string ' + 'is ' + result + '.' ); } } }
Python # Define a function to find the kth non-repeating character # in a string def kthNonRepeatingChar ( s : str k : int ) -> str : # Initialize count and result variables to 0 and null # character respectively count = 0 result = '