2016-10-22 5 views
0

配列の各要素のペアが、それらの要素の乗算の答えが配列内に存在するかどうかをチェックする方法。アレイ要素数列

Example: 
example 1=a={1,2}; here 2*1=2 which exist in array 
example 2=a={1,2,1}; here 1*2=2 so 2 exist,2*1=2 so this also exist. 
example 3=a={3,4}; here 3*4=12 which doesn't exist in this array 
so how we can check that this type of array exist or not. 

答えて

0

$elements = array( array(1,2), array(1,2,1), array(3,4), );

foreach ($elements as $subElements) { foreach ($subElements as $element) { $product = current($subElements) * next($subElements); if (in_array($product, $subElements)) { echo $product.' exists<br>'; } } }

0
  1. ストアにunordered_map(C++)またはハッシュマップ内のすべての要素(ジャワ)
  2. 実行2つfor-loop[first_entry, last_entry)外側としてとインナーとして(outer_entry, last_entry]ループ、キーの合計を行い、合計がprであるかどうかをチェックする地図上にesent。見つからなければ、一番外側のループから抜け出し、Doesn't existを返します。エルス
  3. O(N)を取るだろうとペア和の有無をチェックすることのでO(N^2)

    を取ると、TCマップの作成Exist

を返す:O(N^2)

0

このような配列はすべてが、同じ1つの要素を持っている必要がありますそうでなければ、配列は無限に大きくなります。

関連する問題