Comment implémenter la matrice dans le code php

藏色散人
Libérer: 2023-03-08 18:54:01
original
2893 Les gens l'ont consulté

La méthode d'implémentation de la matrice dans le code PHP : supprimez d'abord le nombre de lignes et de colonnes ; puis contrôlez le nombre de tours dans la boucle externe puis passez "j=i;j

Comment implémenter la matrice dans le code php

L'environnement d'exploitation de cet article : système Windows 7, PHP version 7.1, ordinateur DELL G3

[PHP] Algorithme - Imprimez l'implémentation PHP de la matrice dans le sens des aiguilles d'une montre

1. Retirez le nombre de lignes et de colonnes, la ligne, la colonne et le nombre de cercles (valeur plus petite -1)/2+1

2. Couche externe La boucle contrôle le nombre de tours. Il y a quatre boucles for internes, i

3 La première boucle for, de gauche à droite, j=i;j

4. La deuxième boucle for, de haut en bas, k=i+1;k

5. La troisième boucle, de droite à gauche, m=col-2-i;m>=i&&row-1-i!=i;m-- arr[row-1 -i][m] //row-1-i!=i ne s'imprimera qu'une seule fois lorsqu'il s'agit d'une seule ligne

6 La quatrième boucle, de bas en haut, n=row-2-i. ;n>=i&&col-1-i !=i;n-- arr[n][i]

<?php
$arr=array();
$flag=0;
for($i=0;$i<2;$i++){
        $flag=$i*2;
        for($j=0;$j<2;$j++){
                $flag++;
                $arr[$i][]=$flag;
        }   
}
var_dump($arr);
//顺时针打印矩阵
function printMatrix($arr){
        $res=array();
        $row=count($arr);
        $col=count($arr[0]);
        $circle=intval((($row>$col ? $col : $row)-1)/2+1);
        for($i=0;$i<$circle;$i++){
                //转圈开始
                //从左到右
                for($j=$i;$j<=$col-1;$j++){
                        $t=$arr[$i][$j];
                        if(in_array($t,$res)) continue;
                        $res[]=$t;
                }   
                //从上到下
                for($k=$i+1;$k<$row-$i;$k++){
                        $t=$arr[$k][$col-$i-1];
    
                        if(in_array($t,$res)) continue;
                        $res[]=$t;
                }   
                //从右到左
                for($m=$col-$i-2;$m>=$i;$m--){
                        $t=$arr[$row-$i-1][$m];
                        if(in_array($t,$res)) continue;
                        $res[]=$t;
                }   
                //从下到上
                for($n=$row-$i-2;$n>$i;$n--){
                        $t=$arr[$n][$i];
                        if(in_array($t,$res)) continue;
                        $res[]=$t;
                }   
        }   
        return $res;
}
$res=printMatrix($arr);
Copier après la connexion

Apprentissage recommandé : "Tutoriel vidéo PHP"

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!

Étiquettes associées:
php
source:php.cn
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal