package Ġcom . chen cc . android stud yn otes code . leetcode čĊč Ċ import Ġandroid . util . S parseInt Array čĊčĊč Ċ fun Ġmain () Ġ{ čĊčĊĠĠĠ Ġ// Ġ æĸ Ĳ æ³¢ éĤ£ å¥ ĳ æķ° åĪĹ éĹ®é¢ĺ čĊĠĠĠ Ġfib 1 () č Ċ } čĊčĊ čĊčĊčĊč Ċ /** čĊ Ġ* Ġ æĸ Ĳ æ³¢ éĤ£ å¥ ĳ æķ° åĪĹ éĹ®é¢ĺ čĊ Ġ*/ čĊč Ċ fun Ġfib 1 (){ č Ċ // ĠĠ Ġval Ġint Ġ= Ġ Ġfib 1 ( 2 0 ) č Ċ // ĠĠ Ġval Ġint Ġ= Ġ Ġfib 2 ( 2 0 ) č Ċ // ĠĠ Ġval Ġint Ġ= Ġ Ġfib 3 ( 2 0 ) čĊĠĠ Ġval Ġint Ġ= Ġ Ġfib 4 ( 2 0 ) čĊĠĠĠ Ġprintln (" æĸ Ĳ æ³¢ éĤ£ å¥ ĳ æķ° åĪĹ ï¼ļ fib Ġ: Ġ$ int ") č Ċ } čĊč Ċ /** čĊ Ġ* Ġæ ļ ´ åĬĽ éĢĴ å½Ĵ čĊ Ġ* Ġ æĹ¶éĹ´ å¤įæĿĤ åº¦ ä¸º ĠO ( 2 ^ n ) čĊ Ġ*/ č Ċ fun Ġfib 1 ( n Ġ: ĠInt ) Ġ: ĠInt Ġ{ čĊĠĠĠ Ġif ( n Ġ== Ġ 1 Ġ|| Ġn Ġ== Ġ 2 ) Ġreturn Ġ 1 čĊĠĠĠ Ġreturn Ġfib 1 ( n Ġ- Ġ 1 Ġ) Ġ+ Ġfib 1 ( n Ġ- Ġ 2 ) č Ċ } čĊč Ċ /** čĊ Ġ* ĠçĶ¨ ä¸Ģä¸ª æķ°ç»Ħ è®°å½ķ ï¼Į éģ¿åħį éĩįå¤į è®¡ç®Ĺ čĊ Ġ* Ġ æĹ¶éĹ´ å¤įæĿĤ åº¦ ä¸º ĠO ( n ) čĊ Ġ*/ č Ċ fun Ġfib 2 ( n : ĠInt ) Ġ: ĠInt Ġ{ čĊĠĠĠ Ġif Ġ( n Ġ== Ġ 1 ) Ġreturn Ġ 1 čĊĠĠĠ Ġval Ġarray Ġ= ĠArray ( n Ġ+ Ġ 1 ){ 0 } čĊĠĠĠ Ġprintln (" array Ġ: Ġ${ array . toList () }") čĊĠĠĠ Ġval Ġint Ġ= Ġhelper Fib 2 ( array , Ġn ) čĊĠĠĠ Ġprintln (" array Ġ: Ġ${ array . toList () }") čĊĠĠĠ Ġreturn Ġint č Ċ } čĊč Ċ fun Ġhelper Fib 2 ( array Ġ: ĠArray < Int >, Ġn Ġ: ĠInt ) Ġ: ĠInt Ġ{ čĊĠĠĠ Ġif ( n Ġ== Ġ 1 Ġ|| Ġn Ġ== Ġ 2 ) Ġreturn Ġ 1 čĊčĊĠĠĠ Ġ// Ġ å·²ç»ı è®¡ç®Ĺ è¿ĩ å°± çĽ´æİ¥ åıĸ åĢ¼ čĊĠĠĠ Ġif Ġ( array [ n ] Ġ!= Ġ 0 ) Ġreturn Ġarray [ n ] čĊĠĠĠ Ġ// Ġ åĲ¦åĪĻ è®¡ç®Ĺ çĦ¶åĲİ åŃĺ èµ·æĿ¥ čĊĠĠĠ Ġarray [ n ] Ġ= Ġhelper Fib 2 ( array , Ġn Ġ- 1 ) Ġ+ Ġhelper Fib 2 ( array , Ġn Ġ- 2 ) čĊĠĠĠ Ġreturn Ġarray [ n ] č Ċ } čĊčĊč Ċ /** čĊ Ġ* Ġ æķ°ç»Ħ è¿Ńä»£ æ³ķ čĊ Ġ*/ č Ċ fun Ġfib 3 ( n Ġ: ĠInt ) Ġ: ĠInt { čĊĠĠĠ Ġif ( n Ġ== Ġ 1 Ġ|| Ġn Ġ== Ġ 2 ) Ġreturn Ġ 1 čĊĠĠĠ Ġval Ġarray Ġ= ĠArray ( n Ġ+ Ġ 1 ){ 0 } čĊĠĠĠ Ġarray [ 1 ] Ġ= Ġ 1 čĊĠĠĠ Ġarray [ 2 ] Ġ= Ġ 1 čĊĠĠĠ Ġfor Ġ( i Ġin Ġ 3 .. n ){ čĊĠĠĠĠĠĠĠ Ġarray [ i ] Ġ= Ġarray [ i Ġ- Ġ 1 ] Ġ+ Ġarray [ i Ġ- Ġ 2 ] čĊĠĠĠ Ġ} čĊĠĠĠ Ġreturn Ġarray [ n ] č Ċ } čĊč Ċ /** čĊ Ġ* Ġ ĠçĶ¨ Ġ åıĺéĩı åıĸ ä»£ æķ°ç»Ħ čĊ Ġ* Ġ Ġ æĹ¶éĹ´ å¤įæĿĤ åº¦ ĠO ( 1 ) čĊ Ġ*/ č Ċ fun Ġfib 4 ( int : ĠInt ) Ġ: ĠInt { čĊĠĠĠ Ġif ( int Ġ== Ġ 1 Ġ|| Ġint Ġ== Ġ 2 ) Ġreturn Ġ 1 čĊčĊĠĠĠ Ġvar Ġm Ġ= Ġ 1 čĊĠĠĠ Ġvar Ġn Ġ= Ġ 1 čĊĠĠĠ Ġfor Ġ( i Ġin Ġ 3 .. int ){ čĊĠĠĠĠĠĠĠ Ġval Ġsum Ġ= Ġm Ġ+ Ġn čĊĠĠĠĠĠĠĠ Ġm Ġ= Ġn čĊĠĠĠĠĠĠĠ Ġn Ġ= Ġsum čĊĠĠĠ Ġ} čĊĠĠĠ Ġreturn Ġn č Ċ } čĊ