跳到主要內容

發表文章

目前顯示的是 5月, 2013的文章

面試前的筆試-實作題-費氏數列

費氏數列,是F1 = F2 = 1, Fn = Fn-1+Fn-2,給以下兩個範例,請實做出程式。 func(1) = 1 func(3) = 1 2 3 5 8 <?php echo func( 1 ); echo func( 3 ); function f ( $x ){ if ( $x == 1 || $x == 2 ) return 1 ; return f( $x - 1 ) + f( $x - 2 ); } function func ( $x ){ $ans = '' ; $len = $x * 2 - 1 ; for ( $i = 1 ; $i <= $len ; $i ++ ) $ans .= f( $i + 1 ) . ' ' ; return $ans ; } ?> 今天應該是太緊張了...,看到這題我無法理解為什麼func(3) = 1 2 3 5 8,但回到房間在想起這件事情,原來是要我推理出可能的func,就馬上寫出來了。 好吧,看來今天的面試結果應該是無望了XD

MySQL INSERT or UPDATE

有些時候在記錄資料時,總是會需要判斷資料有無存在,在進行資料寫入,或是更新資料。 所以至少都得先進行SELECT再去判斷資料有無存在,不存在就INSERT,存在就進行UPDATE,之前從沒找過有沒有更簡單的方法進行。 這次無意間找資料時,才看到INSERT ... ON DUPLICATE KEY UPDATE ...。 舉個簡單的範例,現在有個TABLE A如下 SQL範例如下 INSERT INTO ` A ` ( ` item_id ` , ` item_count ` , ` count_date ` ) VALUES ( 'SwefcskoWdsl' , 1 , '2013-05-14' ) ON DUPLICATE KEY UPDATE ` item_count ` = ` item_count ` + 1 ; 這段SQL就會依照當item_id與count_date資料不存在,則會新增;否則就會在指定的item_id與count_date的item_count進行+1的動作。 MySQL文件 P.S. 這時發現以前的自己好蠢Orz...