First Unique Character in a String PythonThis tutorial will show various approaches to finding the first unique character in a given string. For instance, the result should be "n" if the given string is "stringstutorial," and "S" if the given string is "StringsTutorial". ExplanationInput: "stringstutorial" Explanation: Step 1: Creating a frequency list of the characters for the given string freq['s'] = 2 freq['t'] = 3 freq['r'] = 2 freq['i'] = 2 freq['n'] = 1 freq['g'] = 1 freq['u'] = 1 freq['o'] = 1 freq['a'] = 1 freq['l'] = 1 Step 2: Find the first character having a unit frequency. Creating a Frequency Hash MapIf a character only appears once in the given string, it is considered a non-repeating character. Calculating the frequency of each letter in the string sequence and determining which letter has a frequency of 1 are the steps in locating such unique characters. A hash map, which maps characters to their corresponding frequencies and allows us to concurrently modify the frequency of the characters we have already encountered in constant time, is an effective tool for this work. In the ASCII system, 256 unique characters are the limit. So, the maximum length of a hash map is 256. Reread the string, and the 1st letter whose frequency is equal to one is the solution. Algorithm:
Code Output The first unique character is n Finding the Unique Character by Traversing the String Only OnceThe primary method requires O(n) runtime, although we can make it faster in the application. The count array is constructed in the first step of the procedure by iteratively traversing the text in O(n) runtime. This step makes sense. However, the second portion, where we replay the string's initial non-repeater, isn't a good idea. The string is anticipated much longer than our character set in actual circumstances. Consider DNA sequences, which may contain billions of letters and only have a four-letter alphabet. What transpires if the unique character is at the string's end? Then, it would require a lengthy scan. Creating Hash Map and Traversing String OnceInstead of using the hash map, create a frequency array with the length of the character list as 256. By adding to the frequency array, we may store not only frequency but also the position of the letter's first appearance, such as (5, 36) for the letter, which indicates that it was recorded five times and originally appeared at position 36. To locate the first unique character, we only need to scan the frequency array rather than the string. Below is the implementation of this idea. Code Output First unique character is n Creating a Frequency List and Looping Only OnceCreating a frequency list of a maximum of 256 characters. We can initialize all the items in this list to -1. We will iterate over the string's characters and examine if the list elements with this particular character have an index of 1 or not. If it turns out to be -1, we will change it to j; if it does not turn out to be -1, this indicates that the character has already been used; in that case, we will change it to -2. All repeated characters will eventually be altered to -2, while all unique characters will still retain the index at which they first appeared. We can quickly discover the least or the initial index by iterating all the unique characters. Code Output The first unique character is n Using in-built Functions of PythonUtilize the Counter() function to determine the frequency of all characters. Go over the string and find which elements have frequency 1. Printing the unique character and breaking the loop there. Code Output The first unique character is: n Using the find() Function of StringsAfter the current letter, look up each subsequent letter. If it returns -1, it signifies that the letter only appears once, which is the present index. Code Output The first unique character is: n Using the count() FunctionIf a character's count() within a string is 1, it indicates that the character is unique and not repeated. We will break the loop and print the first unique character we find. Code Output The first unique character is n |
We provides tutorials and interview questions of all technology like java tutorial, android, java frameworks
G-13, 2nd Floor, Sec-3, Noida, UP, 201301, India