Table des matières
Exemple Exemple
Méthode 1
Algorithme
Exemple
Sortie
Conclusion
Maison développement back-end C++ Vérifie si tous les caractères d'une chaîne peuvent être rendus égaux en augmentant ou en diminuant

Vérifie si tous les caractères d'une chaîne peuvent être rendus égaux en augmentant ou en diminuant

Sep 11, 2023 am 11:25 AM
字符串处理 Les personnages sont égaux Augmenter ou diminuer les opérations

Vérifie si tous les caractères dune chaîne peuvent être rendus égaux en augmentant ou en diminuant

Dans ce problème, nous devons vérifier si tous les caractères de la chaîne peuvent être rendus égaux par des opérations croissantes et décroissantes. Nous pouvons obtenir le poids de chaque caractère en fonction de sa valeur ASCII et vérifier si le poids total peut être utilisé pour rendre tous les caractères égaux.

Énoncé du problème – On nous donne une chaîne str de longueur N contenant des caractères alphabétiques minuscules. Nous devons vérifier si nous pouvons rendre tous les caractères de la chaîne égaux en sélectionnant l'un des deux caractères, en augmentant un caractère, puis en décrémentant l'autre caractère de 1. Écrivez « oui » si possible, sinon écrivez « non ».

Exemple Exemple

Entrée– str = 'aedb

sortie-str = 'aedb

Explication - « a » peut augmenter de 2 et « e » peut diminuer de 2. En même temps, « b » peut être incrémenté de 1 et « d » peut être incrémenté de 1. Par conséquent, la chaîne résultante peut être « cccc ».

Entrée– str = 'abd'

Sortie-"Non"

Explication – Nous ne pouvons pas rendre tous les caractères d'une chaîne égaux en augmentant et en diminuant

Entrez -'g'

Sortie - 'Oui'

Explication – Une chaîne ne contient qu'un seul caractère, donc tous les caractères de la chaîne sont déjà égaux

Méthode 1

Dans cette méthode, nous calculerons le poids total des caractères de la chaîne. Les poids des caractères sont définis comme « a » = 1, « b » = 2, « c » = 3,…, « z » = 26. Ainsi, si nous divisons le poids total par la longueur de la chaîne, nous pouvons dire qu’en augmentant un caractère et en diminuant un autre, nous rendons tous les caractères de la chaîne égaux.

Algorithme

  • Définissez la variable "len" et utilisez la méthode size() pour stocker la taille de la chaîne.

  • Définissez la variable "totalWeight" pour stocker le poids total de tous les caractères d'une chaîne donnée

  • Obtenez le poids d'un caractère spécifique en utilisant le code ASCII de chaque caractère et ajoutez-le à la variable "totalWeight".

  • Renvoie vrai si la valeur de "totalWeight" est divisible par "len". Sinon, renvoie faux.

Exemple

#include <iostream>
using namespace std;

// function to check if all characters of a string can be made equal by incrementing or decrementing by 1
bool canMakeEqual(string str){
   int len = str.size();
   // store sum of ASCII values of characters
   int totalWeight = 0;
   // Iterate over the string
   for (int i = 0; i < len; i++){
      // get the ASCII value of each character
      totalWeight += str[i] - 'a' + 1;
   }
   return (totalWeight % len == 0);
}
int main(){
   string str = "aedb";
   if (canMakeEqual(str))
      cout << "Yes";
   else
      cout << "No";
   return 0;
}
Copier après la connexion

Sortie

Yes
Copier après la connexion

Complexité temporelle - O(N) puisque nous parcourons la chaîne.

Complexité spatiale - O(1) car nous utilisons un espace constant.

Conclusion

Nous avons appris à vérifier si tous les caractères d'une chaîne peuvent être égaux en augmentant et en diminuant la valeur ASCII du caractère. Nous résolvons ce problème en termes de « poids total ». L'utilisateur peut également essayer de trouver la chaîne résultante. Pour trouver la chaîne résultante, recherchez la valeur ASCII correspondant à (totalWeight/len) et ajoutez les caractères "len" à la chaîne donnée.

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 尊渡假赌尊渡假赌尊渡假赌
Où trouver la courte de la grue à atomide atomique
1 Il y a quelques semaines By DDD

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)

Expliquez en termes simples : explication détaillée de l'échappement et de l'anti-échappement de chaînes en langage GO Expliquez en termes simples : explication détaillée de l'échappement et de l'anti-échappement de chaînes en langage GO Apr 07, 2024 am 10:39 AM

Dans le langage Go, l'échappement de chaîne utilise une barre oblique inverse (\`) ainsi que des caractères spéciaux pour représenter des caractères spéciaux, tels que le caractère de nouvelle ligne (\n). L'anti-échappement utilise des guillemets inversés (\`) pour supprimer les caractères échappés et restaurer leurs caractères d'origine, tels que \n représentant le caractère de nouvelle ligne réel. Des cas pratiques démontrent l'application de l'échappement, de l'anti-échappement et de l'anti-échappement dans la lecture de fichiers.

Meilleures pratiques pour convertir des chaînes en nombres à virgule flottante en PHP Meilleures pratiques pour convertir des chaînes en nombres à virgule flottante en PHP Mar 28, 2024 am 08:18 AM

La conversion de chaînes en nombres à virgule flottante en PHP est une exigence courante lors du processus de développement. Par exemple, le champ de montant lu dans la base de données est de type chaîne et doit être converti en nombres à virgule flottante pour les calculs numériques. Dans cet article, nous présenterons les meilleures pratiques pour convertir des chaînes en nombres à virgule flottante en PHP et donnerons des exemples de code spécifiques. Tout d'abord, nous devons préciser qu'il existe deux manières principales de convertir des chaînes en nombres à virgule flottante en PHP : en utilisant la conversion de type (float) ou en utilisant la fonction (floatval). Ci-dessous, nous présenterons ces deux

Erreurs pouvant survenir lors du traitement des chaînes PHP et comment les corriger Erreurs pouvant survenir lors du traitement des chaînes PHP et comment les corriger May 11, 2023 pm 05:21 PM

PHP est un langage de programmation dynamique largement utilisé qui possède un large éventail d'applications, notamment dans le développement d'applications Web. Le traitement des chaînes est l'une des fonctions les plus couramment utilisées en PHP, mais les développeurs rencontrent souvent diverses erreurs et problèmes lors du traitement des chaînes. Dans cet article, nous explorerons plusieurs problèmes courants que vous pourriez rencontrer lors du traitement des chaînes PHP et comment les résoudre. Problèmes de codage de caractères Lors du traitement de chaînes, un problème courant est le codage de caractères. Il existe de nombreux codages de caractères différents, le plus courant étant UT.

Maîtriser les expressions régulières et le traitement des chaînes en langage Go Maîtriser les expressions régulières et le traitement des chaînes en langage Go Nov 30, 2023 am 09:54 AM

En tant que langage de programmation moderne, le langage Go fournit de puissantes expressions régulières et fonctions de traitement de chaînes, permettant aux développeurs de traiter les données de chaînes plus efficacement. Il est très important pour les développeurs de maîtriser les expressions régulières et le traitement des chaînes en langage Go. Cet article présentera en détail les concepts de base et l'utilisation des expressions régulières dans le langage Go, ainsi que comment utiliser le langage Go pour traiter les chaînes. 1. Expressions régulières Les expressions régulières sont un outil utilisé pour décrire des modèles de chaînes. Elles peuvent facilement implémenter des opérations telles que la correspondance, la recherche et le remplacement de chaînes.

Maîtrisez les secrets de l'échappement et de l'anti-échappement de chaînes en langage GO Maîtrisez les secrets de l'échappement et de l'anti-échappement de chaînes en langage GO Apr 07, 2024 pm 04:33 PM

L'échappement de chaîne utilise des barres obliques inverses pour représenter les caractères spéciaux sous forme de séquences d'échappement, tandis que la suppression de l'échappement renvoie les séquences d'échappement aux caractères réels. Le langage Go prend en charge les séquences d'échappement suivantes : \n (saut de ligne), \t (tabulation), \r (retour chariot), \f (saut de page), \a (alarme), \b (retour arrière), \ v (tabulation verticale), en plus de la barre oblique inverse elle-même, des guillemets simples et des guillemets doubles. Les littéraux de chaîne brute sont entourés de guillemets et aucun caractère n'est échappé. Les caractères d'échappement sont utiles dans le code HTML et les données JSON pour afficher ou échapper des caractères spéciaux.

Traitement des chaînes PHP : explication détaillée de la façon de supprimer tous les espaces Traitement des chaînes PHP : explication détaillée de la façon de supprimer tous les espaces Mar 23, 2024 pm 06:51 PM

PHP est un langage de programmation puissant largement utilisé dans le développement Web. Dans le processus de développement Web, nous rencontrons souvent des situations dans lesquelles les chaînes doivent être traitées, et la suppression des espaces des chaînes est une exigence courante. Cet article présentera en détail comment supprimer tous les espaces d'une chaîne en PHP et fournira des exemples de code spécifiques. 1. Utilisez la fonction str_replace. La fonction str_replace est une fonction de remplacement de chaîne couramment utilisée en PHP. Elle peut remplacer un caractère spécifié par un autre caractère. En utilisant cette fonction, vous pouvez

Comment supprimer des caractères spécifiques d'une chaîne en PHP à l'aide d'expressions régulières Comment supprimer des caractères spécifiques d'une chaîne en PHP à l'aide d'expressions régulières Jun 22, 2023 pm 03:46 PM

En PHP, vous pouvez facilement supprimer des caractères spécifiques d'une chaîne à l'aide d'expressions régulières. Les expressions régulières sont un outil puissant qui nous aide à faire correspondre et à manipuler du texte en fonction de modèles spécifiés. Dans cet article, nous présenterons comment utiliser des expressions régulières pour supprimer des caractères spécifiques d'une chaîne et comment utiliser la fonction preg_replace en PHP pour atteindre cet objectif. L'utilisation d'expressions régulières pour remplacer des caractères spécifiques "." dans les expressions régulières identifie n'importe quel caractère unique, nous pouvons utiliser

Quelles sont les 7 fonctions de traitement de chaînes PHP ? Quelles sont les 7 fonctions de traitement de chaînes PHP ? Sep 18, 2023 pm 02:14 PM

Les sept fonctions de traitement de chaînes PHP incluent strlen(), strpos(), substr(), str_replace(), strtolower(), strtoupper(), trim(), etc. Introduction détaillée : 1. strlen(), utilisé pour obtenir la longueur d'une chaîne ; 2. strpos(), utilisé pour rechercher une sous-chaîne spécifique dans une chaîne et renvoyer la première position d'occurrence ; 3. substr(), utilisée pour obtenir une sous-chaîne ; de chaîne ; 4. str_replace(), etc.

See all articles