K'th не повторює персонаж
Дано рядок стер довжини n (1 <= n <= 10 6 ) і число k Завдання полягає в тому, щоб знайти в рядку неповторний символ Kth.
Приклади:
Введення: str = geeksforgeeks k = 3
Вихід: r
Пояснення: Перший неповторний символ-f second-O, а третій-r.Введення: str = geeksforgeeks k = 2
Вихід: зВведення : str = geksforgeeks k = 4
Вихід: Менше, ніж k, що не репетирують у вводі.
Ця проблема в основному є розширенням Перша проблема, що не повторює персонаж .
K'th не повторює символ з використанням вкладеної петлі:
Просте рішення - запустити дві петлі. Почніть поїздки з лівого боку. Для кожного символу перевіряйте, повторюється він чи ні. Якщо персонаж не повторює збільшення кількості не повторюваних символів. Коли CO у nt стає k повернути персонажа.
Нижче наведено реалізацію вищезазначеної ідеї:
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 = '