K번째 비반복 문자
문자열이 주어지면 str 길이 n (1 <= n <= 10 6 ) 및 숫자 케이 작업은 문자열에서 반복되지 않는 k번째 문자를 찾는 것입니다.
예:
입력 : str = 긱스포긱스 k = 3
출력 : 아르 자형
설명: 반복되지 않는 첫 번째 문자는 f, 두 번째는 o, 세 번째는 r입니다.입력 : str = 긱스포긱스 k = 2
출력 : 그만큼입력 : str = geeksforgeeks k = 4
출력 : 입력에 k개 미만의 반복되지 않는 문자가 있습니다.
이 문제는 주로 다음의 확장입니다. 첫 번째 반복되지 않는 문자 문제 .
중첩 루프를 사용하는 K번째 비반복 문자:
간단한 해결책은 두 개의 루프를 실행하는 것입니다. 왼쪽부터 횡단을 시작합니다. 모든 문자에 대해 반복되는지 여부를 확인하세요. 문자가 반복되지 않으면 반복되지 않는 문자의 개수를 늘립니다. 공동 때 ~에 nt는된다 케이 문자를 반환합니다.
다음은 위의 아이디어를 구현한 것입니다.
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 = '