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 ]
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
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] == 'b'){ seq[i] = 'a'; break; } if (seq[i] == 'd'){ seq[i] = 'c'; break; } // if an element is b or d, change them and move to the next element. if (seq[i] == 'a') seq[i] = 'b'; else if (seq[i] == 'c') seq[i] = 'd'; } cout << "The Previous sequence is: " << seq; return 0; }
Sortie
The previous sequence is: abbcc
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!

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)

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

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

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]

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

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

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

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 ;
