Home >Backend Development >C++ >has a character equal to the sum of the frequencies of other characters in the given string

has a character equal to the sum of the frequencies of other characters in the given string

WBOY
WBOYforward
2023-09-11 09:53:03566browse

has a character equal to the sum of the frequencies of other characters in the given string

Introduction

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

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

grammar

str.length()

length()

The length() method in C is used to count the number of characters in a string.

algorithm

  • 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.

Example

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;
}

Output

Input String : tweeet
Holds true for character e

in conclusion

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!

Statement:
This article is reproduced at:tutorialspoint.com. If there is any infringement, please contact admin@php.cn delete