"abc"와 같이 일부 문자열에서 잘못된 문자열을 찾습니다. "cba"는 잘못된 문자열 집합입니다.
예
입력: ( hello, lloeh,helll,olelh,code,abc,cba,dec,asd,bca,);
출력:
배열( [0] => hello [1 ] = > lleh [2] => abc [4] => 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(); ?>