Table des matières
Présentation
Exemple
Grammaire
Longueur()
Algorithme
Sortie
Conclusion
Maison développement back-end C++ a un caractère égal à la somme des fréquences des autres caractères dans la chaîne donnée

a un caractère égal à la somme des fréquences des autres caractères dans la chaîne donnée

Sep 11, 2023 am 09:53 AM
Caractères égaux à fréquence

a un caractère égal à la somme des fréquences des autres caractères dans la chaîne donnée

Présentation

Les chaînes C++ sont des flux de caractères alphanumériques. Les chaînes ont les propriétés suivantes -

  • Une chaîne se compose d'un ensemble fixe de caractères

  • La position de la chaîne commence à partir du 0ème index par défaut

  • La fréquence de tout caractère fait référence au nombre de fois où il apparaît dans une chaîne. La fréquence de n'importe quel caractère peut aller de 0 (s'il n'apparaît pas) à la longueur de la chaîne.

Dans cet article, nous allons développer un code qui prend une chaîne en entrée et vérifie si la fréquence d'un caractère est égale à la somme des fréquences de tous les autres caractères de la chaîne. Voyons l'exemple ci-dessous pour mieux comprendre ce sujet

Exemple

Exemple 1 - str - "@!ab@!"

sortie - vrai

Par exemple, l'exemple de chaîne suivant contient également des caractères spéciaux, et la fréquence correspondante de chaque caractère est la suivante -

@=4

! = 2

a=1

b = 1

Par conséquent, la chaîne suivante a les propriétés applicables suivantes

Fréquence (@) = fréquence (!) + fréquence (a) + fréquence (b)

4 = 2 + 1 + 1

Dans cet article, nous allons créer une solution pour compter le nombre d'occurrences de chaque caractère dans une chaîne et vérifier en outre s'il existe un caractère avec le nombre de fréquences requis

Grammaire

str.length()
Copier après la connexion

Longueur()

La méthode length() en C++ est utilisée pour compter le nombre de caractères dans une chaîne.

Algorithme

  • Accepter la chaîne d'entrée str

  • Créez un tableau contenant 26 lettres pour stocker la fréquence d'apparition des caractères. Il est initialisé avec le compte 0, spécifié par le tableau freq

  • Utilisez la méthode length() pour calculer la longueur de la chaîne, enregistrée sous le nom len

  • Si la longueur de la chaîne est un nombre impair, renvoie un faux drapeau

  • Extraire le personnage à la i-ème position à chaque fois

  • La fréquence d'apparition de ce caractère est augmentée de 1.

  • Après avoir calculé toute la longueur de la chaîne, vérifiez le tableau de fréquences

  • Si la fréquence d'un caractère est égale à la somme des fréquences des autres caractères, renvoie la valeur du drapeau booléen vraie.

Exemple

L'extrait de code C++ suivant est utilisé pour vérifier si un caractère dans une chaîne d'entrée donnée apparaît avec une fréquence égale à la somme des fréquences de tous les caractères respectivement -

//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;
}
Copier après la connexion

Sortie

Input String : tweeet
Holds true for character e
Copier après la connexion

Conclusion

Les positions des caractères dans les chaînes C++ commencent par défaut à partir du 0ème index. Une chaîne est une structure de stockage de longueur dynamique dans laquelle des caractères peuvent être ajoutés facilement un nombre illimité de fois. Chaque caractère d'une chaîne C++ est associé à un nombre, représenté par sa fréquence. Les structures de données de mappage sont utiles lorsque chaque clé est associée à une valeur définie.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

C Structure des données du langage: représentation des données et fonctionnement des arbres et des graphiques C Structure des données du langage: représentation des données et fonctionnement des arbres et des graphiques Apr 04, 2025 am 11:18 AM

C Structure des données du langage: La représentation des données de l'arborescence et du graphique est une structure de données hiérarchique composée de nœuds. Chaque nœud contient un élément de données et un pointeur vers ses nœuds enfants. L'arbre binaire est un type spécial d'arbre. Chaque nœud a au plus deux nœuds enfants. Les données représentent StrustReenode {intdata; structTreenode * gauche; structureReode * droite;}; L'opération crée une arborescence d'arborescence arborescence (prédécision, ordre dans l'ordre et ordre ultérieur) Le nœud d'insertion de l'arborescence des arbres de recherche de nœud Graph est une collection de structures de données, où les éléments sont des sommets, et ils peuvent être connectés ensemble via des bords avec des données droites ou peu nombreuses représentant des voisins.

Comment fonctionne la bibliothèque de modèle standard C (STL)? Comment fonctionne la bibliothèque de modèle standard C (STL)? Mar 12, 2025 pm 04:50 PM

Cet article explique la bibliothèque de modèles standard C (STL), en se concentrant sur ses composants principaux: conteneurs, itérateurs, algorithmes et fonctors. Il détaille comment ces interagissent pour permettre la programmation générique, l'amélioration de l'efficacité du code et de la lisibilité

Comment utiliser efficacement les algorithmes du STL (trier, trouver, transformer, etc.)? Comment utiliser efficacement les algorithmes du STL (trier, trouver, transformer, etc.)? Mar 12, 2025 pm 04:52 PM

Cet article détaille l'utilisation efficace de l'algorithme STL en c. Il met l'accent sur le choix de la structure des données (vecteurs vs listes), l'analyse de la complexité des algorithmes (par exemple, STD :: Srieur vs std :: partial_sort), l'utilisation des itérateurs et l'exécution parallèle. Pièges communs comme

Comment gérer efficacement les exceptions en C? Comment gérer efficacement les exceptions en C? Mar 12, 2025 pm 04:56 PM

Cet article détaille la gestion efficace des exceptions en C, couvrant les mécanismes d'essai, de capture et de lancement. Il met l'accent sur les meilleures pratiques comme RAII, en évitant les blocs de capture inutiles et en enregistrant des exceptions pour un code robuste. L'article aborde également Perf

Comment utiliser efficacement les références RValue en C? Comment utiliser efficacement les références RValue en C? Mar 18, 2025 pm 03:29 PM

L'article discute de l'utilisation efficace des références de référence en C pour la sémantique de déplacement, le transfert parfait et la gestion des ressources, mettant en évidence les meilleures pratiques et les améliorations des performances. (159 caractères)

La vérité derrière le problème de fonctionnement du fichier de langue C La vérité derrière le problème de fonctionnement du fichier de langue C Apr 04, 2025 am 11:24 AM

La vérité sur les problèmes de fonctionnement des fichiers: l'ouverture des fichiers a échoué: les autorisations insuffisantes, les mauvais chemins de mauvais et les fichiers occupés. L'écriture de données a échoué: le tampon est plein, le fichier n'est pas écrivatif et l'espace disque est insuffisant. Autres FAQ: traversée de fichiers lents, encodage de fichiers texte incorrect et erreurs de lecture de fichiers binaires.

Comment utiliser les plages dans C 20 pour une manipulation de données plus expressive? Comment utiliser les plages dans C 20 pour une manipulation de données plus expressive? Mar 17, 2025 pm 12:58 PM

Les plages de c 20 améliorent la manipulation des données avec l'expressivité, la composibilité et l'efficacité. Ils simplifient les transformations complexes et s'intègrent dans les bases de code existantes pour de meilleures performances et maintenabilité.

Comment le répartition dynamique fonctionne-t-il en C et comment affecte-t-il les performances? Comment le répartition dynamique fonctionne-t-il en C et comment affecte-t-il les performances? Mar 17, 2025 pm 01:08 PM

L'article traite de Dynamic Dispatch in C, ses coûts de performance et les stratégies d'optimisation. Il met en évidence les scénarios où la répartition dynamique a un impact

See all articles