<?php //兩個有序數組合並 $arr1 = [1,5,7,44,66,89]; $arr2 = [4,5,6,88,99,105,111]; $arr3 = []; $l1 = count( $arr1 ); $l2 = count( $arr2 ); $i = $j = 0; while(true){ if( !isset( $arr1[$i] ) ){ for( $j; $j <$l2; $j++ ){ $arr3[] = $arr2[$j]; } break; } if( !isset( $arr2[$j] ) ){ for( $i; $j <$l1; $i++ ){ $arr3[] = $arr1[$i]; } break; } while( isset( $arr2[$j] ) && ( $arr1[$i] > $arr2[$j] ) ){ $arr3[] = $arr2[$j]; $j++; } while( isset( $arr1[$i] ) && ( $arr1[$i] < $arr2[$j] ) ){ $arr3[] = $arr1[$i]; $i++; } if( isset( $arr1[$i] ) && isset( $arr1[$i] ) && ( $arr1[$i] == $arr2[$j] ) ){ $arr3[] = $arr1[$i]; $i++;$j++; } } print_r( $arr3 ); ?>
N久沒面試了,尤爲沒作過題。今天正好碰到, 要求手寫 ,寫的比較凌亂 最後只聊了下思路 代碼大概就這樣了。。php