Home  >  Article  >  Backend Development  >  Shuffled strings (PHP version)

Shuffled strings (PHP version)

WBOY
WBOYOriginal
2016-08-08 09:26:171369browse

Find out the out-of-order strings in some strings, such as "abc", "cba" is a set of out-of-order strings

Example

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

Output:

array ( [0] => hello [1] => lloeh [2] => olelh [3] => abc [4] => cba [5] => bca )

<?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();

?>

The above introduces the disordered string (PHP version), including the relevant content. I hope it will be helpful to friends who are interested in PHP tutorials.

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn