function findPreviousSmaller($arr) {
$size = count($arr);
for ($i = 0; $i < $size; $i++) {
$not_found = 1; // if not found write -1
$previous_smaller = $arr[$i];
for ($j = $i - 1; $j >= 0; $j--) {
if ($arr[$j] < $previous_smaller) {
$previous_smaller = $arr[$j];
$not_found = 0;
}
}
echo (($not_found) ? -1 : $previous_smaller) . " ";
}
}
$arr = array( 2, 6, 3, 7, 8, 1, 9, 0, 13, 19, 18 );
// 2:-1 // 6:2 // 3:2 // 7:2 // 8:2 // 1:-1 // 9:1 // 0:-1 // 13:0 // 19:0 // 18:0
findPreviousSmaller($arr);
/*
run:
-1 2 2 2 2 -1 1 -1 0 0 0
*/