Table des matières
Façons de trouver la solution
Approche efficace
Exemple
Sortie
Conclusion
Maison développement back-end C++ Dans une matrice étendue, renvoie l'élément précédent en C++

Dans une matrice étendue, renvoie l'élément précédent en C++

Sep 15, 2023 am 09:17 AM
retour matrice étendue Précédent

Dans une matrice étendue, renvoie lélément précédent en C++

Discutez d'un problème basé sur la matrice étendue. Une matrice étendue est une matrice dont la taille augmente d'un certain facteur.

Nous avons ici une matrice de caractères dont la taille est agrandie par des multiples de 2, c'est-à-dire que si la taille de la matrice d'origine est N * N, alors la taille de la matrice développée devient 2N * 2N. On nous donne une séquence de caractères située en (i, j) et nous devons renvoyer la séquence de caractères située en (i, (j - N - 1)%N).

Comprenons en visualisant quelques matrices d'expansion initiales.

Given Matrix -> [ a, b ] [ c, d ], 2 X 2 matrix
Multiplying with { a, b, c, d }
A X [ a, b ]
B X [ a, b ]
C X [ a, b ]
D X [ a, b ]
[ c, d ] [ c, d ] [ c, d ] [ c, d ]

Expanded Matrix -> [ aa, ab, ba, bb ]
[ ac, ad, bc, bd ]
[ ca, cb, da, db ]
[ cc, cd, dc, dd ], 4X4 matrix
To expand again, multiply it by { a, b, c, d } and a matrix of size 8X8 will be formed.

Expanded Matrix - > [ aaa, aab, aba, abb, baa, bab, bba, bbb ]
[ aac, aad, abc, abd, bac, bad, bbc, bbd ]
[ aca, acb, ada, adb, bca, bcb, bda, bdb ]
[ acc, acd, adc, add, bcc, bcd, bdc, bdd ]
[ caa, cab, cba, cbb, daa, dab, dba, dbb ]
[ cac, cad, cbc, cbd, dac, dad, dbc, dbd ]
[ cca, ccb, cda, cdb, dca, dcb, dda, ddb ]
[ ccc, ccd, cdc, cdd, dcc, dcd, ddc, ddd ]
Copier après la connexion

Ce sont deux matrices d'expansion initiales ; en supposant que nous obtenions une séquence de caractères "bcc", alors nous devons renvoyer la séquence qui vient de rester, qui est "ajouter". De plus, en supposant que la matrice est cyclique, c'est-à-dire si la séquence donnée est à (i, 0), alors renvoie la séquence à (i, N-1)

Input: abb
Output: aba
Explanation: The sequence just left to abb is aba in the 8X8 matrix.

Input: aadc
Output: aacd

Input: abbcd
Output: abbcc
Copier après la connexion

Façons de trouver la solution

Pensez d'abord au problème , la seule solution qui me vient à l'esprit. La solution est de trouver une matrice étendue contenant la séquence donnée mais qui n'a pas l'air très complexe. Nous devons d’abord former la matrice, puis rechercher la séquence.

Approche efficace

Après avoir examiné quelques matrices initialement développées, nous avons découvert un modèle à travers lequel nous pouvions voir l'élément précédent. Autrement dit,

  • parcourt la séquence de caractères à partir du dernier index.

  • Si l'élément d'index est 'b' ou 'd', remplacez-le par 'a' ou 'c' et arrêtez de parcourir le tableau.

  • Si l'élément d'index est « a » ou « c », remplacez-le par « b » ou « d » et passez à l'index suivant et vérifiez-le.

Exemple

Code C++ de la méthode ci-dessus

#include <bits/stdc++.h>
using namespace std;
int main (){
   string seq = "abbcd";
   int n = seq.length ();
   // traverse through the string from last.
   for (int i = n; i >= 0; i--){
      // if the element is b or d, change them and stop traversing.
      if (seq[i] == &#39;b&#39;){
      seq[i] = &#39;a&#39;;
      break;
   }
   if (seq[i] == &#39;d&#39;){
      seq[i] = &#39;c&#39;;
      break;
   }
   // if an element is b or d, change them and move to the next element.
   if (seq[i] == &#39;a&#39;)
      seq[i] = &#39;b&#39;;
   else if (seq[i] == &#39;c&#39;)
      seq[i] = &#39;d&#39;;
   }
   cout << "The Previous sequence is: " << seq;
   return 0;
}
Copier après la connexion

Sortie

The previous sequence is: abbcc
Copier après la connexion

Conclusion

Dans cet article, nous avons discuté de la matrice de caractères étendue et de la façon dont elle est formée. Nous avons également discuté de la recherche de l’élément précédent dans une matrice étendue. Nous avons résolu ce problème en comprenant les modèles créés par la matrice de caractères étendue.

Nous avons également discuté du code C++ pour résoudre ce problème, que nous pouvons écrire dans n'importe quel langage de programmation comme C, Java, Python, etc. Nous espérons que ce tutoriel vous sera utile.

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)

Astuces PHP : implémentez rapidement la fonction de retour à la page précédente Astuces PHP : implémentez rapidement la fonction de retour à la page précédente Mar 09, 2024 am 08:21 AM

Astuces PHP : Implémentez rapidement la fonction de retour à la page précédente. Dans le développement web, nous rencontrons souvent le besoin d'implémenter la fonction de retour à la page précédente. De telles opérations peuvent améliorer l’expérience utilisateur et faciliter la navigation des utilisateurs entre les pages Web. En PHP, nous pouvons réaliser cette fonction grâce à un code simple. Cet article présentera comment implémenter rapidement la fonction de retour à la page précédente et fournira des exemples de code PHP spécifiques. En PHP, on peut utiliser $_SERVER['HTTP_REFERER'] pour récupérer l'URL de la page précédente

Quels résultats MySQL renvoie-t-il après l'insertion de données ? Quels résultats MySQL renvoie-t-il après l'insertion de données ? Mar 01, 2024 am 10:27 AM

MySQL est un système de gestion de bases de données relationnelles largement utilisé pour stocker et gérer des données. Lorsque nous souhaitons insérer de nouvelles données dans une table de base de données, nous utilisons généralement l'instruction INSERT. Dans MySQL, lorsque l'instruction INSERT est exécutée pour insérer avec succès des données, un résultat sera renvoyé, qui est le résultat de l'opération d'insertion. Dans cet article, nous discuterons en détail des résultats renvoyés par MySQL après l'insertion de données et fournirons quelques exemples de code spécifiques. 1. Le résultat renvoyé après l'insertion des données est dans MySQL lorsqu'il est exécuté avec succès.

Comment utiliser Vue pour implémenter l'effet de retour à la page précédente Comment utiliser Vue pour implémenter l'effet de retour à la page précédente Sep 19, 2023 pm 01:07 PM

Comment utiliser Vue pour implémenter l'effet spécial du retour à la page précédente. Dans le développement front-end, nous rencontrons souvent des situations où nous devons revenir à la page précédente. En ajoutant un bouton de retour, vous pouvez offrir une meilleure expérience utilisateur. Cet article expliquera comment utiliser le framework Vue pour obtenir l'effet spécial de revenir à la page précédente et fournira des exemples de code correspondants. Tout d'abord, dans le projet Vue, vous devez créer une page comme la page précédente. Nous pouvons définir le routage via VueRouter, et chaque itinéraire correspond à un composant. Dans la page précédente, nous pouvons ajouter un bouton retour et passer l'événement click

Dans une matrice étendue, renvoie l'élément précédent en C++ Dans une matrice étendue, renvoie l'élément précédent en C++ Sep 15, 2023 am 09:17 AM

Discutez d’un problème basé sur la matrice étendue. Une matrice étendue est une matrice dont la taille augmente d'un certain facteur. Nous avons ici une matrice de caractères dont la taille est agrandie d'un multiple de 2, c'est-à-dire que si la taille de la matrice d'origine est N*N, alors la taille de la matrice développée devient 2N*2N. On nous donne une séquence de caractères située en (i, j), et nous devons renvoyer la séquence de caractères située en (i, (j-N-1)%N). Comprenons en visualisant quelques matrices d'expansion initiales. Étant donnéMatrix->[a,b][c,d],2X2matrixMultiplyingwith{a,b,c,d}AX[a,b]BX[a,b]CX[a,b]DX[a,b][c ,d]

Le programme Java renvoie le plus grand élément d'une liste Le programme Java renvoie le plus grand élément d'une liste Aug 19, 2023 pm 05:17 PM

Nous pouvons utiliser une boucle de tableau pour renvoyer le plus grand élément de la liste. Ceci est principalement réalisé en comparant des modèles. Dans une liste, le plus grand nombre est comparé à tous les éléments de la liste. La procédure considérera « n » comme quantité d’entrée et la stockera comme valeur de données dans le tableau. Ensuite, le programme affichera le plus grand élément sur la console de sortie une fois la boucle terminée. Dans cet article, nous vous aiderons à comprendre et à écrire du code Java grâce auquel vous pourrez trouver le plus grand élément d'une liste de tableaux. Comment sélectionner le plus grand nombre dans un tableau en utilisant Java ? Nous pouvons trouver le plus grand nombre en triant un tableau. Pour définir un tableau évité L

Comment renvoyer la valeur d'une fonction personnalisée PHP ? Comment renvoyer la valeur d'une fonction personnalisée PHP ? Apr 15, 2024 pm 05:00 PM

Les fonctions personnalisées en PHP peuvent renvoyer des valeurs de types spécifiés via l'instruction return, notamment des chaînes, des nombres, des tableaux et des objets. Cas pratique : - Chaîne de retour : functiongreet($name){return "Hello,$name!";} - Tableau de retour : functionget_user_data($id){return["name"=>"John","email"=> " john@exemple.com"];}

Écrivez une fonction en programmation C qui renvoie 2 lorsque l'entrée est 1 et 1 lorsque l'entrée est 2 Écrivez une fonction en programmation C qui renvoie 2 lorsque l'entrée est 1 et 1 lorsque l'entrée est 2 Sep 10, 2023 pm 01:25 PM

Vous devez créer une fonction qui renvoie 2 pour l'entrée 1 et 1 pour l'entrée 2. Cette fonction peut être réalisée de différentes manières selon la logique que vous utilisez. Le moyen le plus simple consiste à utiliser une instruction conditionnelle, si le nombre est 1, renvoyez 2, sinon renvoyez 1, d'autres méthodes incluent l'utilisation d'opérations mathématiques (n'importe quel type fonctionnera) et des opérations XOR. Exemple #include<stdio.h>//Méthode1 utilisant l'instructionifintreverseif(intx){ if(x==1)return2 elsereturn1;}/

Comment créer une fonction avec une valeur de retour en utilisant PHP ? Comment créer une fonction avec une valeur de retour en utilisant PHP ? Apr 10, 2024 pm 12:45 PM

Les étapes d'utilisation des valeurs de retour de fonction en PHP incluent : l'utilisation d'une fonction pour déclarer une fonction ; l'utilisation de l'instruction return pour renvoyer les résultats en appelant la fonction et en capturant la valeur de retour ;

See all articles