總結我的BAT公司PHP面試,淚並快樂著

蜂蜜柚子水發表於2019-02-16

接到面試通知輾轉反側,一直在默唸明天改如何介紹自己的專案經驗等。早早的起床,洗漱,把自己的總結的問題自問自答了一些。匆匆吃了早飯,擠進讓人面目猙獰的地鐵,此時什麼都不顧,只盼著趕緊下地鐵。終於提前半小時到了面試地點,再次拿出準備的問題看了幾眼,還剩15分鐘上去。跟著人力填了表格,然後給了我一個演算法題。如下:有一對兔子,從出生後第3個月起每個月都生一對兔子,小兔子長到第三個月後每個月又生一對兔子,假如兔子都不死,請程式設計輸出兩年內每個月的兔子總數為多少?
忽然記起來,這道題之前千鋒PHP的一個朋友跟我談論過,思路是一樣的。
第一種方法(for迴圈實現):

<?php
   function getResult($month){
      $one = 1; //第一個月兔子的對數
      $two = 1; //第二個月兔子的對數
      $sum = 0; //第$month個月兔子的對數
      if($month < 3){
         return ;
         }
      for($i = 2;$i < $month; $i++){
         $sum = $one + $two;
         $one = $two;
         $two = $sum;
      }
      echo $month.`個月後共有`.$sum.`對兔子`;
   }

第二種方法(遞迴):

<?php 
   function fun($n){
   if($n == 1 || $n == 2){
       return 1;
   }else{
       return fun($n-1)+fun($n-2);
   } 
}

事後,也去網上查了一下,但是大多數程式碼示例都是C語言、c++、java等等語言的。並沒有太多PHP相關的程式碼示例,這兩種方法,希望可以幫到大家。
其實整個面試過程挺緊張,好在最後完成的挺漂亮。這不,複試通知來了,感謝那個千鋒PHP哥們。

相關文章