Interview Question
Software EngineersCountry: United States
Interview Type: In-Person
<?php
$binary=[2=>2];
$binary[2]=[1=>1,3=>3];
$binary[2][1]=[0=>0];
$binary[2][1][0]=10;
$binary[2][3]=[4=>4,7=>7,5=>5];
echo '<pre>';
print_r($binary);
$result=array_unique(itrate($binary,[]));
//array_unique(($binary);
sort($result);
calculateLongSeq($result);
function calculateLongSeq($arr){
$max_seq=[];
$seq=$arr[0];
$count=0;
for($i=0;$i<count($arr);$i++){
if($seq==$arr[$i]){
$count++;
$seq++;
}
else{
$max_seq[]=$count;
$count=0;
$seq=$arr[$i];
}
}
echo max($max_seq);
exit();
}
function itrate($binary,$result){
foreach ($binary as $key => $value) {
array_push($result,$key);
if(is_array($value)){
$result=array_merge($result,itrate($value,$result));
}
else{
array_push($result,$value);
}
}
return $result;
}
<?php
$binary=[2=>2];
$binary[2]=[1=>1,3=>3];
$binary[2][1]=[0=>0];
$binary[2][1][0]=10;
$binary[2][3]=[4=>4,7=>7,5=>5];
echo '<pre>';
print_r($binary);
$result=array_unique(itrate($binary,[]));
//array_unique(($binary);
sort($result);
calculateLongSeq($result);
function calculateLongSeq($arr){
$max_seq=[];
$seq=$arr[0];
$count=0;
for($i=0;$i<count($arr);$i++){
if($seq==$arr[$i]){
$count++;
$seq++;
}
else{
$max_seq[]=$count;
$count=0;
$seq=$arr[$i];
}
}
echo max($max_seq);
exit();
}
function itrate($binary,$result){
foreach ($binary as $key => $value) {
array_push($result,$key);
if(is_array($value)){
$result=array_merge($result,itrate($value,$result));
}
else{
array_push($result,$value);
}
}
return $result;
}
- dmitry.labutin February 26, 2018