Table des matières
Introduction au problème
Méthode
Exemple
Attention
Complexité temporelle et spatiale
Conclusion
Maison interface Web js tutoriel Programme JavaScript pour la rotation gauche et droite des chaînes

Programme JavaScript pour la rotation gauche et droite des chaînes

Sep 15, 2023 pm 04:01 PM

用于左旋转和右旋转字符串的 JavaScript 程序

La rotation des chaînes vers la gauche signifie déplacer un nombre donné de caractères dans le sens inverse des aiguilles d'une montre à partir du côté préfixe et les ajouter au côté suffixe. De même, la rotation à droite d'une chaîne signifie que les caractères d'une chaîne donnée sont déplacés dans le sens des aiguilles d'une montre, mais exactement à l'opposé de la rotation à gauche, et qu'un nombre donné de caractères sont extraits du suffixe et ajoutés au préfixe de la chaîne. Dans cet article, nous allons implémenter un programme JavaScript pour la rotation à gauche et la rotation à droite d'une chaîne donnée.

Introduction au problème

Dans cette question, nous obtenons une chaîne et un nombre. Ce nombre représente le nombre de fois que nous devons faire tourner la corde dans un sens ou dans l’autre. Comme nous avons une idée de la rotation dans le sens des aiguilles d'une montre et dans le sens inverse, cela signifie prendre certains caractères du côté début ou préfixe ou du côté fin ou suffixe de la chaîne donnée, puis les supprimer et les ajouter à la fin de la chaîne.

La longueur de la chaîne et la fréquence des caractères dans une chaîne donnée ne changent pas, seule la disposition de la chaîne actuelle change.

Par exemple, étant donné une chaîne : pomme

Ensuite, la rotation vers la gauche de la chaîne donnée sera la suivante -

  • Pomme

  • s'il vous plaît

  • leapp

  • eappl

  • Pomme

Nous pouvons voir que la cinquième rotation de la chaîne donnée est la même que la chaîne actuelle, donc d'autres rotations ne sont pas possibles.

La rotation à droite d'une chaîne donnée sera la suivante -

  • eappl

  • leapp

  • s'il vous plaît

  • Priya

  • Pomme

Nous pouvons voir que la 5ème rotation à droite de la chaîne donnée est la même que la chaîne initiale, donc si nous faisons pivoter davantage la chaîne, il n'y aura pas de résultats différents.

De l'exemple ci-dessus, nous pouvons conclure qu'en faisant tourner la chaîne vers la gauche ou la droite autant de fois que sa longueur, vous obtiendrez la même chaîne que la chaîne initiale. Donc si le nombre de rotations donné est supérieur à la longueur de la chaîne, alors nous pouvons prendre le modèle et il donnera exactement la même réponse.

Méthode

Nous avons vu l'exemple de base de la rotation gauche et droite d'une chaîne, discutons-en maintenant étape par étape pour mieux comprendre le code que nous implémenterons plus tard.

  • Tout d'abord, nous obtiendrons la chaîne donnée dans une variable et stockerons le nombre de tours requis dans une autre variable. Nous pouvons également les imprimer pour une meilleure comparaison.

  • Nous allons créer deux fonctions, la première pour la rotation à gauche et la seconde pour la rotation à droite de la chaîne.

  • Pour chaque fonction, nous passerons la chaîne donnée et le nombre de variables de rotation comme paramètres.

  • Dans la fonction de rotation gauche, nous prendrons les deux sous-chaînes contenant les k derniers éléments et le deuxième élément restant et échangerons leurs positions.

  • Dans la fonction de rotation de droite, nous obtiendrons deux sous-chaînes contenant les k premiers éléments et la seconde contenant les éléments restants et échangerons leurs positions.

Exemple

// function for left rotation
function left_rotation(str,k){

   // getting prefix elements and remaining elements
   // switiching there place
   var new_str = str.substr(k) + str.substring(0,k);

   // printing the rotated string
   console.log("String after kth left rotation is: " + new_str);
}

// function for right rotation
function right_rotation(str,k){

   // getting suffix elements and remaining elements
   // switiching there place

   var new_str = str.substr(str.length - k) + str.substring(0,str.length-k);
   // printing the rotated string

   console.log("String after kth rigth rotation is: " + new_str);
}

// given string
var str = "apple"
var k = 2

// printing the given string
console.log("The given string is: " + str);

// getting left rotation

left_rotation(str,k);

// getting right rotation
right_rotation(str,k)
Copier après la connexion

Attention

Dans le programme ci-dessus, le "k" ou nombre de rotations que nous avons donné est inférieur à la taille de la chaîne, si k est supérieur à la taille de la chaîne, alors le code ci-dessus donnera une erreur, mais comme suit nous Comme je l'ai vu dans la section d'introduction, la rotation après la répétition de la longueur de la chaîne plusieurs fois peut être calculée en obtenant le mode du nombre actuel en fonction de la longueur de la chaîne. Par mesure de sécurité, nous pouvons toujours le faire -

k = k % (str.length)
Copier après la connexion

Ici, str est la chaîne donnée.

Complexité temporelle et spatiale

La complexité temporelle du code ci-dessus est O(N), où N est la taille de la chaîne donnée. Dans le code ci-dessus, nous prenons simplement les caractères de chaîne, les cassons et les ajoutons de différentes manières, ce qui rend la complexité temporelle linéaire.

La complexité spatiale du code ci-dessus est O(1) car nous n'utilisons aucun espace supplémentaire, nous stockons simplement une chaîne dans une autre chaîne, et cet espace est utilisé pour la réponse, donc aucun espace supplémentaire n'est utilisé. p>

Conclusion

Dans ce tutoriel, nous avons implémenté un programme JavaScript pour la rotation à gauche et la rotation à droite d'une chaîne donnée. Faire pivoter une chaîne vers la gauche signifie déplacer un nombre donné de caractères dans le sens inverse des aiguilles d'une montre, et faire pivoter une chaîne vers la droite signifie déplacer un nombre donné de caractères dans le sens des aiguilles d'une montre. Nous avons utilisé le concept de sous-chaînes par lequel nous divisons la chaîne et ajoutons un suffixe ou un préfixe de l'autre côté. La complexité temporelle du programme donné est O(N) et la complexité spatiale est O(1).

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)
2 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Repo: Comment relancer ses coéquipiers
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Combien de temps faut-il pour battre Split Fiction?
3 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)

Remplacer les caractères de chaîne en javascript Remplacer les caractères de chaîne en javascript Mar 11, 2025 am 12:07 AM

Explication détaillée de la méthode de remplacement de la chaîne JavaScript et de la FAQ Cet article explorera deux façons de remplacer les caractères de chaîne dans JavaScript: le code JavaScript interne et le HTML interne pour les pages Web. Remplacer la chaîne dans le code JavaScript Le moyen le plus direct consiste à utiliser la méthode Remplace (): str = str.replace ("trouver", "remplacer"); Cette méthode remplace uniquement la première correspondance. Pour remplacer toutes les correspondances, utilisez une expression régulière et ajoutez le drapeau global G: str = str.replace (/ fi

jQuery Vérifiez si la date est valide jQuery Vérifiez si la date est valide Mar 01, 2025 am 08:51 AM

Des fonctions JavaScript simples sont utilisées pour vérifier si une date est valide. fonction isValidDate (s) { var bits = s.split ('/'); var d = new Date (bits [2] '/' bits [1] '/' bits [0]); return !! (d && (d.getMonth () 1) == bits [1] && d.getDate () == Number (bits [0])); } //test var

jQuery obtient un rembourrage / marge d'élément jQuery obtient un rembourrage / marge d'élément Mar 01, 2025 am 08:53 AM

Cet article explique comment utiliser jQuery pour obtenir et définir les valeurs de marge et de marge intérieures des éléments DOM, en particulier les emplacements spécifiques de la marge extérieure et des marges intérieures de l'élément. Bien qu'il soit possible de définir les marges intérieures et extérieures d'un élément à l'aide de CSS, l'obtention de valeurs précises peut être délicate. // installation $ ("div.header"). CSS ("marge", "10px"); $ ("div.header"). css ("padding", "10px"); Vous pourriez penser que ce code est

10 onglets jQuery Accordion 10 onglets jQuery Accordion Mar 01, 2025 am 01:34 AM

Cet article explore dix onglets jQuery exceptionnels et accordéons. La principale différence entre les onglets et les accordéons réside dans la façon dont leurs panneaux de contenu sont affichés et cachés. Plongeons ces dix exemples. Articles connexes: 10 plugins de l'onglet jQuery

10 vaut la peine de vérifier les plugins jQuery 10 vaut la peine de vérifier les plugins jQuery Mar 01, 2025 am 01:29 AM

Découvrez dix plugins jQuery exceptionnels pour élever le dynamisme et l'attrait visuel de votre site Web! Cette collection organisée offre diverses fonctionnalités, de l'animation d'image aux galeries interactives. Explorons ces outils puissants: Related Posts: 1

Http débogage avec le nœud et le http-console Http débogage avec le nœud et le http-console Mar 01, 2025 am 01:37 AM

HTTP-Console est un module de nœud qui vous donne une interface de ligne de commande pour exécuter les commandes HTTP. C'est idéal pour le débogage et voir exactement ce qui se passe avec vos demandes HTTP, qu'elles soient faites contre un serveur Web, Web Serv

Tutoriel de configuration de l'API de recherche Google personnalisé Tutoriel de configuration de l'API de recherche Google personnalisé Mar 04, 2025 am 01:06 AM

Ce tutoriel vous montre comment intégrer une API de recherche Google personnalisée dans votre blog ou site Web, offrant une expérience de recherche plus raffinée que les fonctions de recherche de thème WordPress standard. C'est étonnamment facile! Vous pourrez restreindre les recherches à Y

jQuery Ajouter une barre de défilement à div jQuery Ajouter une barre de défilement à div Mar 01, 2025 am 01:30 AM

L'extrait de code jQuery suivant peut être utilisé pour ajouter des barres de défilement lorsque le contenu DIV dépasse la zone de l'élément de conteneur. (Pas de démonstration, veuillez le copier directement sur Firebug) // d = document // w = fenêtre // $ = jQuery var contentArea = $ (this), wintop = contentArea.scrollTop (), docheight = $ (d) .height (), winheight = $ (w) .height (), divheight = $ ('# c

See all articles