Write a C, C++ program to print first non repeating character of a string. Given an input string, write a code to print only first non-repeating character of a string.
Programming questions on string.
Let's take an example. Suppose an input string is HELLO. In this word, H is a first non-repeating character.
Method 1 - Using two for loops to compare each character of a string with other characters. The time complexity of this approach is O(n2).
Now let's optimize this solution .
Method 2 - Using hash map library in C++.
Programming question on Arrays
Programming question on Linked List
Sorting algorithm and their time complexity
Stack implementation
Programming questions using Recursion
C, C++ interview questions
Programming Books
Programming questions on string.
Let's take an example. Suppose an input string is HELLO. In this word, H is a first non-repeating character.
Method 1 - Using two for loops to compare each character of a string with other characters. The time complexity of this approach is O(n2).
C Program to Find First Non Repeating Character of a String
#include <stdio.h> #include <string.h> int main(void) { char str[100] = "cprogrammingcode"; int len = strlen(str); int flag; /* Two loops to compare each character with other character */ for(int i = 0; i < len; i++) { flag = 0; for(int j = 0; j < len; j++) { /* If it's equal and indexes is not same */ if((str[i] == str[j]) && (i != j)) { flag = 1; break; } } if (flag == 0) { printf("First non-repeating character is %c",str[i]); break; } } if (flag == 1) { printf("Didn't find any non-repeating character"); } return 0; }
Now let's optimize this solution .
Method 2 - Using hash map library in C++.
C++ Program to Find First Non Repeating Character in a String
#include <iostream> #include <map> #include <string.h> using namespace std; int main() { char str[100] = "cprogrammingcode"; int i,len; /* Declare hash */ map<char,int> hash; len = strlen(str); /* Make key and value pair key denotes character value is the count of a character */ for(i = 0; i < len; i++){ hash[str[i]]= hash[str[i]] + 1; } /* Check the count if count is 1 then print the element */ for(j=0;j<len;j++){ if (hash[str[j]]==1){ cout<<"First non-repeated character is "<<str[j]; break; } } return 0; }
Programming question on Arrays
Programming question on Linked List
Sorting algorithm and their time complexity
Stack implementation
Programming questions using Recursion
C, C++ interview questions
Programming Books
No comments:
Post a Comment