文字列の 2 つの配列 A と B が与えられます。
B には A のすべての要素が含まれており、追加のメンバーが 1 つあります。次に例を示します。
A = ['dog', 'cat', 'monkey]
B = ['cat', 'rat', 'dog', 'monkey']
を使用して B の余分な文字列を見つける関数を作成する必要がありますO(n)
。助けてください!
更新: PHP 組み込み関数 array_diff() を使用して違いを達成できることを私は知っています。
文字列の 2 つの配列 A と B が与えられます。
B には A のすべての要素が含まれており、追加のメンバーが 1 つあります。次に例を示します。
A = ['dog', 'cat', 'monkey]
B = ['cat', 'rat', 'dog', 'monkey']
を使用して B の余分な文字列を見つける関数を作成する必要がありますO(n)
。助けてください!
更新: PHP 組み込み関数 array_diff() を使用して違いを達成できることを私は知っています。
お役に立てれば幸いです
$A = array('dog', 'cat', 'monkey');
$B = array('cat', 'rat', 'dog', 'monkey');
function arrayDiff($A, $B) {
$out = array();
foreach($B as $b) $out[$b] = 1;
foreach($A as $a) unset($out[$a]);
return array_keys($out);
}
print_r(arrayDiff($A, $B));
array_keys()
次のように変更機能を使用したくない場合
function arrayDiff($A, $B) {
$res = $out = array();
foreach($A as $a) $out[$a] = 1;
foreach($B as $b) if(!isset($out[$b])) $res[] = $b;
return $res;
}