an algorithm to find what does it do
<p>I've an algorithm and I and don't know what does it do, and what's its complexity, can anyone help me?</p>

<pre><code>PUZZLE (A:int[], L:int, R:int)
{

// Assume L, R &gt;0 and L &lt;= R

If( L = R) Then

  return A[L];

double Temp1 :=PUZZLE(A,L, (L+R)/2);

double Temp2 :=PUZZLE(A, 1 + (L+R)/2,R);

If(Temp1 &lt; Temp2) Then

return Temp1;

else Then

return Temp2;

}
</code></pre>
