Home >Backend Development >C++ >has a character equal to the sum of the frequencies of other characters in the given string
C A string is a stream of alphanumeric characters. The string has the following properties -
A string consists of a fixed set of characters
The string position starts from the 0th index by default
The frequency of any character refers to the number of times it appears in a string. The frequency of any character can range from 0 (if it does not occur) to the length of the string.
In this article, we will develop a code that takes a string as input and checks if the frequency of any character is equal to the sum of the frequencies of all other characters in the string. Let us see the following example to understand this topic better
Example 1 - str - "@!ab@!"
Output - True
For example, the following example string also contains special characters, and the corresponding frequency of each character is as follows -
@=4
! = 2
a=1
b = 1
Therefore, the following string has the following applicable properties
Frequency(@) = frequency(!) frequency(a) frequency(b)
4 = 2 1 1
In this article we will create a solution to count the number of occurrences of each character in a string and further check if there is a character with the required frequency count
str.length()
The length() method in C is used to count the number of characters in a string.
Accept input string str
Create an array containing 26 letters to store the frequency of occurrence of characters. It is initialized with count 0, specified by the freq array
Use the length() method to calculate the length of the string, recorded as len
If the string length is an odd number, return false flag
Extract the character at the i-th position each time
The frequency of occurrence of this character is increased by 1.
After calculating the entire length of the string, check the frequency array
If the frequency of a character is equal to the sum of the frequencies of other characters, then the Boolean flag value true is returned.
The following C code snippet is used to check whether any character in a given input string occurs with a frequency equal to the sum of the frequencies of all characters -
//including the required libraries #include <bits/stdc++.h> using namespace std; //function to check if the frequency of occurrence of data is equivalent to other characters' frequency bool charwithequalFreq(string str) { //storing the frequency of characters int freq[26] = { 0 }; //length of string int len = str.length(); //if the length of the string is odd if (len % 2 == 1) return false; // Update the frequencies of the characters for (int i = 0; i < len; i++){ char ch = str[i]; freq[ch - 'a']+=1; } for (int i = 0; i < 26; i++) if (freq[i] == len / 2) { cout<<"Holds true for character "<<(char)(i+'a') <<"\n"; return true; } //none of the cases hold true return false; } //calling the frequency method int main() { //input string string str = "tweeet"; cout<< "Input String : "<<str<<"\n"; //check the frquency bool res = charwithequalFreq(str); if(!res){ cout<<"There is no such character"; } return 0; }
Input String : tweeet Holds true for character e
C The character position in the string starts from the 0th index by default. A string is a dynamic-length storage structure in which characters can be appended easily any number of times. Each character in a C string is associated with a count, represented by its frequency. Mapping data structures are useful where each key is associated with a definite value.
The above is the detailed content of has a character equal to the sum of the frequencies of other characters in the given string. For more information, please follow other related articles on the PHP Chinese website!