Heim  >  Artikel  >  Backend-Entwicklung  >  Gemischte Strings (PHP-Version)

Gemischte Strings (PHP-Version)

WBOY
WBOYOriginal
2016-08-08 09:26:171415Durchsuche

Finden Sie die Zeichenfolgen in der falschen Reihenfolge in einigen Zeichenfolgen heraus, z. B. „abc“, „cba“ ist eine Reihe von Zeichenfolgen in der falschen Reihenfolge

Beispiel

Eingabe: (hello, lloeh,helll,olelh,code,abc,cba,dec,asd,bca,);

Ausgabe:

array ( [0] => hallo [ 1] = > lloeh [3] => abc [5] =>

Das Obige stellt die ungeordnete Zeichenfolge (PHP-Version) vor, einschließlich des relevanten Inhalts. Ich hoffe, dass es für Freunde hilfreich ist, die sich für PHP-Tutorials interessieren.

<?php

class Map {
    public  $b;
    public   function  __construct(){
		$this->b = array();
		$s = 'a';
		for ($i =0;$i < 26; $i++) {
            $this->b[$s] = 0;
			$s++;
		}
	}
}
class  Jumble {
    private  $a;
    private $m;
    private $key;
    private $result;
    public function __construct(){
        $this->a = array(hello,lloeh,helll,olelh,code,abc,cba,dec,asd,bca,);
        $this->m = count($this->a);
        $this->key = array();
        for ($k =0; $k < $this->m; $k++) {
            $this->key[$k]=0;
        }
        $this->result = array();
    }
    public function slove() {
        for ($i = 0; $i <  $this->m; $i++) {
            for ($q = $i + 1; $q <  $this->m; $q++) {
                $s1 =  $this->a[$i];
                $s2 =  $this->a[$q];
                $len1 = strlen($s1);
                $len2 = strlen($s2);
                if ($len1 == $len2) {
                    $bool = true;
                    $t1 = new Map();
                    $t2 = new Map();
                    for ($j = 0; $j < $len1; $j++) {
                        $w1 = $s1[$j];
                        $w2 = $s2[$j];
                        $t1->b[$w1]++;
                        $t2->b[$w2]++;
                    }
                    $ss = 'a';
                    for ($p = 0; $p < 26; $p++) {
                        if ($t1->b[$ss] != $t2->b[$ss]) {
                            $bool = false;
                        }
                        $ss++;
                    }
                    if ($bool == true) {
                        if ($this->key[$i] == 0) {
                            array_push( $this->result, $s1);
                            $this->key[$i] = 1;
                        }
                        if ($this->key[$q] == 0) {
                            array_push( $this->result, $s2);
                            $this->key[$q] = 1;
                        }
                    }
                }
            }
        }

    }
    public function prints()
    {
            print_r( $this->result);
    }
}
  $r = new Jumble();
  $r->slove();
  $r->prints();

?>

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn