Table des matières
回复讨论(解决方案)
Maison développement back-end tutoriel php 刚刚遇到一个棘手的算法问题,求解

刚刚遇到一个棘手的算法问题,求解

Jun 23, 2016 pm 01:58 PM


求解


回复讨论(解决方案)

$a = array(1,2,2,3,1,2,3,1,1);$st = array(1 => 0);$d = 1;foreach($a as $v) {  @$st[$v]++;  if($v >= $d) {    $d = $v;  }else{    while($v < $d) {      unset($st[$d--]);    }  }  $r[] = join('.', $st);}print_r($r); 
Copier après la connexion
Copier après la connexion
Array
(
[0] => 1
[1] => 1.1
[2] => 1.2
[3] => 1.2.1
[4] => 2
[5] => 2.1
[6] => 2.1.1
[7] => 3
[8] => 4
)

不好意思,没看明白是个啥意思。……。。…。…………。……。。…。……。。…。……。……。………

$a = array(1,2,2,3,1,2,3,1,1);$st = array(1 => 0);$d = 1;foreach($a as $v) {  @$st[$v]++;  if($v >= $d) {    $d = $v;  }else{    while($v < $d) {      unset($st[$d--]);    }  }  $r[] = join('.', $st);}print_r($r); 
Copier après la connexion
Copier après la connexion
Array
(
    [0] => 1
    [1] => 1.1
    [2] => 1.2
    [3] => 1.2.1
    [4] => 2
    [5] => 2.1
    [6] => 2.1.1
    [7] => 3
    [8] => 4
)


版主,谢谢你的解答 ,如果可以的话,能不能讲讲你的思路呀,万分感谢

不好意思,没看明白是个啥意思。……。。…。…………。……。。…。……。。…。……。……。………


本题其实是一个目录编排的问题,你可以看到优先级决定着大小标题的显示

$a = array(1,2,2,3,1,2,3,1,1); 表示的是节点所在的层次
$st = array(1 => 0); 存储每层当前的序号
$d 表示当前的层次

嗯嗯 谢谢版主的解释,我再好好研究研究,先把分送上

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)
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
1 Il y a quelques mois By 尊渡假赌尊渡假赌尊渡假赌
Will R.E.P.O. Vous avez un jeu croisé?
1 Il y a quelques mois 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)

Comment écrire un algorithme pour trouver le plus petit commun multiple en Python ? Comment écrire un algorithme pour trouver le plus petit commun multiple en Python ? Sep 19, 2023 am 11:25 AM

Comment écrire un algorithme pour trouver le plus petit commun multiple en Python ? Le plus petit commun multiple est le plus petit entier entre deux nombres pouvant diviser les deux nombres. En mathématiques, la résolution du plus petit commun multiple est une tâche mathématique de base, et en programmation informatique, nous pouvons utiliser Python pour écrire un algorithme permettant de résoudre le plus petit commun multiple. Ce qui suit présentera l’algorithme multiple de base le moins courant et donnera des exemples de code spécifiques. La définition mathématique du plus petit commun multiple est la suivante : si a est divisible par n et b est divisible par n, alors n est le plus petit commun multiple de a et b. Pour résoudre le minimum

Un moyen rapide de calculer l'inverse d'une matrice - Implémentation Numpy Un moyen rapide de calculer l'inverse d'une matrice - Implémentation Numpy Jan 24, 2024 am 08:47 AM

Numpy est une bibliothèque informatique scientifique bien connue en Python, qui fournit des fonctions riches et des méthodes informatiques efficaces pour traiter de grands tableaux et matrices multidimensionnels. Dans le monde de la science des données et de l’apprentissage automatique, l’inversion matricielle est une tâche courante. Dans cet article, je vais présenter comment résoudre rapidement l'inverse de la matrice à l'aide de la bibliothèque Numpy et fournir des exemples de code spécifiques. Tout d'abord, introduisons la bibliothèque Numpy dans notre environnement Python en l'installant. Numpy peut être installé dans le terminal à l'aide de la commande suivante : pipinsta

Utiliser la programmation en langage C pour résoudre le plus grand diviseur commun Utiliser la programmation en langage C pour résoudre le plus grand diviseur commun Feb 21, 2024 pm 07:30 PM

Titre : Utilisez la programmation en langage C pour implémenter la solution du plus grand diviseur commun. Le plus grand diviseur commun (Greatest Common Divisor, GCD en abrégé) fait référence au plus grand entier positif qui peut diviser deux entiers ou plus en même temps. La recherche du plus grand diviseur commun peut être très utile pour certains algorithmes et la résolution de problèmes. Dans cet article, la fonction de recherche du plus grand diviseur commun sera implémentée via la programmation en langage C, et des exemples de code spécifiques seront fournis. En langage C, vous pouvez utiliser l'algorithme euclidien pour résoudre le maximum

Comment utiliser Python pour implémenter l'algorithme de résolution factorielle ? Comment utiliser Python pour implémenter l'algorithme de résolution factorielle ? Sep 19, 2023 am 10:30 AM

Comment utiliser Python pour implémenter l'algorithme de résolution factorielle ? Factorielle est un concept important en mathématiques. Elle fait référence à un nombre multiplié par lui-même moins un, puis multiplié par lui-même moins un, et ainsi de suite jusqu'à ce qu'il soit multiplié par 1. La factorielle est généralement représentée par le symbole "!". Par exemple, la factorielle de 5 est exprimée par 5!, et la formule de calcul est : 5!=5×4×3×2×1=120. En Python, nous pouvons utiliser des boucles pour implémenter un algorithme factoriel simple. Un exemple de code est donné ci-dessous : deffacto

Apprenez à trouver le plus grand diviseur commun en langage C Apprenez à trouver le plus grand diviseur commun en langage C Feb 21, 2024 pm 11:18 PM

Pour savoir comment trouver le plus grand diviseur commun en langage C, vous avez besoin d'exemples de code spécifiques. Le plus grand diviseur commun (Greatest Common Divisor, GCD en abrégé) fait référence au plus grand entier positif parmi deux ou plusieurs entiers pouvant les diviser. Le plus grand dénominateur commun est souvent utilisé en programmation informatique, en particulier lorsqu'il s'agit de traiter des fractions, de simplifier des fractions et de résoudre des problèmes tels que le rapport le plus simple d'entiers. Cet article explique comment utiliser le langage C pour trouver le plus grand diviseur commun et donne des exemples de code spécifiques. Il existe de nombreuses façons de résoudre le plus grand diviseur commun, comme Euclidien

Programme C/C++ pour trouver le nième nombre de Fibonacci ? Programme C/C++ pour trouver le nième nombre de Fibonacci ? Sep 12, 2023 pm 06:01 PM

La suite de Fibonacci est une suite de nombres dont le terme suivant est la somme des deux termes précédents. Les deux premiers termes de la suite de Fibonacci sont 0 suivi de 1. Dans ce problème, nous trouverons le nième nombre de la séquence de Fibonacci. Pour ce faire, nous allons compter tous les nombres et imprimer n éléments. Entrée : 8 Sortie : 011235813 Description 0+1=11+1=21+2=32+3=5 Utilisez une boucle For pour additionner les deux premiers éléments comme élément suivant Exemple #include<iostream>usingnamespacestd;intmain(){ intt1 = 0,t2=1,n,i,termesuivant;&am

Comment résoudre des puissances de 2 en PHP ? Comment résoudre des puissances de 2 en PHP ? Mar 28, 2024 am 11:09 AM

Titre : Comment résoudre des puissances de 2 en PHP ? Des exemples de code spécifiques sont partagés dans la programmation PHP. Résoudre la puissance des nombres est une exigence courante, en particulier dans certains algorithmes et calculs mathématiques. Cet article expliquera en détail comment résoudre la puissance de 2 en PHP et fournira des exemples de code spécifiques pour votre référence. En PHP, vous pouvez utiliser l'opérateur d'exponentiation ** pour calculer les puissances. Pour des puissances de 2, calculez $2^n$, où $n$ est l'exposant de la puissance. Ci-dessous, nous mettrons en œuvre ce calcul de différentes manières. Méthode 1 : Utilisez ** chance

Écrire un programme pour résoudre des équations modulaires en C/C++ ? Écrire un programme pour résoudre des équations modulaires en C/C++ ? Sep 12, 2023 pm 02:21 PM

Ici, nous verrons un problème intéressant lié aux équations modulaires. Disons que nous avons deux valeurs A et B. Il faut trouver le nombre de valeurs possibles que la variable X peut prendre telles que (AmodX)=B soit vraie. Supposons que A vaut 26 et B vaut 2. La valeur préférée de X serait donc {3,4,6,8,12,24}, d'où le nombre de 6. C'est la réponse. Jetons un coup d'œil à l'algorithme pour mieux comprendre. Algorithme possibleWayCount(a,b)−begin sia=b, alors il y a des solutions infinies sia

See all articles