我编写了一个PHP代码,用于查找两个字符串中的常用字母。目前,它的复杂性为O(n^2)
,可以进行优化。
<?php
$b="AMITABH BACHHAN";
$a="RAJNIKANTH";
$cmnlet="";
for($i=0;$i<strlen($a);$i++)
{
for($j=0;$j<strlen($a);$j++)
{
//echo "a=".$a[$i]." b=".$b[$j];
if((strcmp($a[$i],$b[$j]))==0)
{
$cmnlet.=$a[$i];
//echo "commonletter ".$cmnlet;
}
}
}
echo (implode(array_unique( str_split($cmnlet))));
?>
答案 0 :(得分:1)
$as = str_split ( $a, 1);
$bs = str_split ( $b, 1);
$result = implode(array_intersect($as, $bs));
按照@Gougata Bose的建议进行编辑:
$result = implode(array_unique(array_intersect($as, $bs)));