


Modifier minimalement une chaîne pour que toutes les sous-chaînes soient différentes
Une chaîne est un type spécifique d'objet qui représente la séquence et le flux de caractères de données. Une chaîne est un conteneur de données, toujours représenté au format texte. Il est également utilisé pour les opérations conceptuelles, de comparaison, de fractionnement, de jointure, de remplacement, de découpage, de longueur, d'internalisation, d'égalité, de comparaison et de sous-chaîne. substring() est un processus de raffinement des données qui extrait les données entre les données enregistrées du début à la fin. substring() ne change pas la chaîne d'origine. Dans un ensemble de données, lorsque nous avons différents caractères, ils peuvent être représentés comme différents éléments de données. Par exemple : « a » et « r » sont différents, tandis que « r » et « r » sont identiques. Ainsi, une chaîne de type orange contient 6 caractères différents. De même, la chaîne pomme ne contient que 4 caractères distincts.
Supposons que "s" soit une chaîne et que nous devions trouver le nombre minimum de modifications requises pour toutes les sous-chaînes afin de rendre la chaîne différente.
Longueur de la ficelle - 26
L'entrée donnée - T est le cas de test de la première ligne, qui est un entier. Pour chaque scénario de test, il n'y aura qu'une seule ligne contenant 26 caractères.
Sortie - Nous obtiendrons le nombre minimum de modifications pour chaque cas de test.
-
Contraintes du flux de méthode logique
1
1
Dans l'article d'aujourd'hui, nous allons apprendre comment modifier une chaîne pour que toutes les sous-chaînes soient différentes.
Algorithme pour rendre les sous-chaînes différentes
Il s'agit d'un algorithme possible pour opérer sur une chaîne de telle sorte que toutes les sous-chaînes soient distinctes tout en minimisant les changements.
Première étape : commencer.
Étape 2 - Utilisez deux boucles imbriquées pour générer des sous-chaînes.
Étape 3 - La boucle externe commence à i = 0 et soustrait la longueur de la chaîne de 1.
Étape 4 - La boucle intérieure commence à j = 0 et soustrait la longueur de la chaîne de 1.
Étape 5 - Construisez une variable de comptage en utilisant la valeur zéro.
Étape 6− À l'intérieur de la boucle externe, créez une variable distinct_character.
Étape 7 - Créez un tableau de fréquences.
Étape 8− Réglez tous les éléments à zéro.
Étape 9 - Vérifiez si la fréquence de la chaîne[j] - 'a' est nulle.
Étape 10− S'il est nul, augmentez-le de 1.
Étape 11− Sinon, divisez-le en une boucle interne.
Étape 12 - Si le décompte est supérieur à zéro, renvoyez le décompte.
Étape 13 - Sinon, retournez -1.
Étape 14 - Résiliation.
Syntaxe pour créer toutes les différentes sous-chaînes
string.substring(start, end)
Dans cette syntaxe, nous pouvons voir comment apporter des modifications minimes à une chaîne de telle sorte que toutes les sous-chaînes soient différentes.
Paramètres
Départ - Une position de départ doit être déclarée. L'index du premier caractère ici est 0.
Fin - Il s'agit d'un processus facultatif situé à la fin (y compris, mais sans s'y limiter).
Méthode
Méthode 1− Recherchez le nombre minimum de modifications qui rendent toutes les sous-chaînes de la chaîne différentes.
Trouvez le nombre minimum de modifications pour que toutes les sous-chaînes d'une chaîne deviennent différentes
Dans cette méthode, nous apprendrons comment rendre toutes les sous-chaînes différentes. Ici, chaque personnage doit être différent. Il suffit de trouver le nombre de caractères. Si la longueur de la chaîne est supérieure à 26, il suffit alors de la convertir en chaîne. Ici, nous écrirons la même logique dans différents paramètres régionaux.
Exemple 1 : Utiliser C++
#include <bits/stdc++.h> using namespace std; const int MAX_CHAR = 26; int minChanges(string &str) { int n = str.length(); if (n > MAX_CHAR) return -1; int dist_count = 0; int count[MAX_CHAR] = {0}; for (int i = 0; i < n; i++) { if (count[str[i] - 'a'] == 0) dist_count++; count[(str[i] - 'a')]++; } return (n - dist_count); } int main() { string str = "aebaecedabbeedee"; cout << minChanges(str); return 0; }
Sortie
11
Exemple 2 : En utilisant Java
import java.lang.*; import java.util.*; public class tutorialspoint { static final int MAX_CHAR = 26; public static int minChanges(String str) { int n = str.length(); if (n > MAX_CHAR) return -1; int dist_count = 0; int count[] = new int[MAX_CHAR]; for(int i = 0; i < MAX_CHAR; i++) count[i] = 0; for (int i = 0; i < n; i++) { if(count[str.charAt(i)-'a'] == 0) dist_count++; count[str.charAt(i)-'a']++; } return (n-dist_count); } public static void main (String[] args) { String str = "aebaecedabbeedee"; System.out.println(minChanges(str)); } }
Sortie
11
Exemple 1 : Utiliser Python
MAX_CHAR = [26] def minChanges(str): n = len(str ) if (n > MAX_CHAR[0]): return -1 dist_count = 0 count = [0] * MAX_CHAR[0] for i in range(n): if (count[ord(str[i]) - ord('a')] == 0) : dist_count += 1 count[(ord(str[i]) - ord('a'))] += 1 return (n - dist_count) if __name__ == '__main__': str = "aebaecedabbeedee" print(minChanges(str))
Sortie
11
Conclusion
Aujourd'hui, dans cet article, nous avons appris à rendre toutes les sous-chaînes différentes avec un minimum de modifications. Ici, nous avons créé quelques codes possibles en suivant l'algorithme décrit en C++, Java et Python. J'espère que cela vous aidera à acquérir une compréhension plus complète du sujet.
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!

Outils d'IA chauds

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

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

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

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

Explication détaillée de la méthode de conversion du type int en chaîne en PHP Dans le développement PHP, nous rencontrons souvent le besoin de convertir le type int en type chaîne. Cette conversion peut être réalisée de différentes manières. Cet article présentera en détail plusieurs méthodes courantes, avec des exemples de code spécifiques pour aider les lecteurs à mieux comprendre. 1. Utilisez la fonction intégrée strval() de PHP. PHP fournit une fonction intégrée strval() qui peut convertir des variables de différents types en types de chaîne. Lorsque nous devons convertir le type int en type chaîne,

Titre : Comment déterminer si une chaîne se termine par un caractère spécifique en Golang. Dans le langage Go, nous devons parfois déterminer si une chaîne se termine par un caractère spécifique. Ceci est très courant lors du traitement de chaînes. Cet article explique comment utiliser le langage Go pour implémenter cette fonction et fournit des exemples de code pour votre référence. Voyons d’abord comment déterminer si une chaîne se termine par un caractère spécifié dans Golang. Les caractères d'une chaîne dans Golang peuvent être obtenus par indexation, et la longueur de la chaîne peut être

1. Ouvrez d’abord pycharm et accédez à la page d’accueil de pycharm. 2. Créez ensuite un nouveau script python, cliquez avec le bouton droit sur nouveau - cliquez sur fichier python. 3. Entrez une chaîne, code : s="-". 4. Ensuite, vous devez répéter les symboles de la chaîne 20 fois, code : s1=s*20 5. Entrez le code de sortie d'impression, code : print(s1). 6. Enfin, exécutez le script et vous verrez notre valeur de retour en bas : - répété 20 fois.

Comment vérifier si une chaîne commence par un caractère spécifique en Golang ? Lors de la programmation en Golang, vous rencontrez souvent des situations où vous devez vérifier si une chaîne commence par un caractère spécifique. Pour répondre à cette exigence, nous pouvons utiliser les fonctions fournies par le package strings dans Golang pour y parvenir. Ensuite, nous présenterons en détail comment utiliser Golang pour vérifier si une chaîne commence par un caractère spécifique, avec des exemples de code spécifiques. En Golang, nous pouvons utiliser HasPrefix du package strings

Le langage Go est un langage de programmation puissant et flexible qui fournit de riches fonctions de traitement de chaînes, notamment l'interception de chaînes. Dans le langage Go, nous pouvons utiliser des tranches pour intercepter des chaînes. Ensuite, nous présenterons en détail comment intercepter des chaînes en langage Go, avec des exemples de code spécifiques. 1. Utilisez le découpage pour intercepter une chaîne. Dans le langage Go, vous pouvez utiliser des expressions de découpage pour intercepter une partie d'une chaîne. La syntaxe de l'expression slice est la suivante : slice:=str[start:end]where, s

Méthodes pour résoudre le problème des caractères chinois tronqués lors de la conversion de chaînes hexadécimales en PHP. Dans la programmation PHP, nous rencontrons parfois des situations où nous devons convertir des chaînes hexadécimales en caractères chinois normaux. Cependant, au cours du processus de conversion, vous rencontrerez parfois le problème des caractères chinois tronqués. Cet article vous fournira une méthode pour résoudre le problème des caractères chinois tronqués lors de la conversion de caractères hexadécimaux en chaîne en PHP, et donnera des exemples de code spécifiques. Utilisez la fonction hex2bin() pour la conversion hexadécimale. La fonction hex2bin() intégrée de PHP peut convertir 1.

Conseils pour la correspondance de chaînes PHP : évitez les expressions incluses ambiguës Dans le développement PHP, la correspondance de chaînes est une tâche courante, généralement utilisée pour rechercher un contenu de texte spécifique ou pour vérifier le format d'entrée. Cependant, nous devons parfois éviter d'utiliser des expressions d'inclusion ambiguës pour garantir l'exactitude de la correspondance. Cet article présentera quelques techniques pour éviter les expressions d'inclusion ambiguës lors de la correspondance de chaînes en PHP et fournira des exemples de code spécifiques. Utilisez la fonction preg_match() pour une correspondance exacte. En PHP, vous pouvez utiliser preg_mat

Opération de chaîne PHP : une méthode pratique pour supprimer efficacement les espaces Dans le développement PHP, vous rencontrez souvent des situations dans lesquelles vous devez supprimer des espaces d'une chaîne. La suppression des espaces peut rendre la chaîne plus propre et faciliter le traitement et l'affichage ultérieurs des données. Cet article présentera plusieurs méthodes efficaces et pratiques pour supprimer des espaces et joindra des exemples de code spécifiques. Méthode 1 : utilisez la fonction intégrée PHP trim() La fonction intégrée PHP trim() peut supprimer les espaces aux deux extrémités de la chaîne (y compris les espaces, les tabulations, les nouvelles lignes, etc.), ce qui est très pratique et simple. utiliser.
