From 91a707eca6ae63fa4bbd253c8d0f540f18b73032 Mon Sep 17 00:00:00 2001 From: CyC2018 Date: Fri, 3 May 2019 16:32:21 +0800 Subject: [PATCH] auto commit --- docs/notes/剑指 Offer 题解 - 10~19.md | 16 +++++++++++++++- .../508c6e52-9f93-44ed-b6b9-e69050e14807.jpg | Bin 0 -> 10166 bytes .../db85a909-5e11-48b2-85d2-f003e7bb35c0.png | Bin 0 -> 2660 bytes .../fec3ba89-115a-4cf9-b165-756757644641.png | Bin 0 -> 1194 bytes .../508c6e52-9f93-44ed-b6b9-e69050e14807.jpg | Bin 0 -> 10166 bytes .../db85a909-5e11-48b2-85d2-f003e7bb35c0.png | Bin 0 -> 2660 bytes .../fec3ba89-115a-4cf9-b165-756757644641.png | Bin 0 -> 1194 bytes notes/剑指 Offer 题解 - 10~19.md | 16 +++++++++++++++- 8 files changed, 30 insertions(+), 2 deletions(-) create mode 100644 docs/pics/508c6e52-9f93-44ed-b6b9-e69050e14807.jpg create mode 100644 docs/pics/db85a909-5e11-48b2-85d2-f003e7bb35c0.png create mode 100644 docs/pics/fec3ba89-115a-4cf9-b165-756757644641.png create mode 100644 notes/pics/508c6e52-9f93-44ed-b6b9-e69050e14807.jpg create mode 100644 notes/pics/db85a909-5e11-48b2-85d2-f003e7bb35c0.png create mode 100644 notes/pics/fec3ba89-115a-4cf9-b165-756757644641.png diff --git a/docs/notes/剑指 Offer 题解 - 10~19.md b/docs/notes/剑指 Offer 题解 - 10~19.md index 598ad80e..f913b5da 100644 --- a/docs/notes/剑指 Offer 题解 - 10~19.md +++ b/docs/notes/剑指 Offer 题解 - 10~19.md @@ -65,7 +65,7 @@ public int Fibonacci(int n) { } ``` -由于待求解的 n 小于 40,因此可以将前 40 项的结果先进行计算,之后就能以 O(1) 时间复杂度得到第 n 项的值了。 +由于待求解的 n 小于 40,因此可以将前 40 项的结果先进行计算,之后就能以 O(1) 时间复杂度得到第 n 项的值。 ```java public class Solution { @@ -96,6 +96,20 @@ public class Solution { ## 解题思路 +当 n 为 1 时,只有一种覆盖方法: + +

+ +当 n 为 2 时,有两种覆盖方法: + +

+ +要覆盖 2\*n 的大矩形,可以先覆盖 2\*1 的矩形,再覆盖 2\*(n-1) 的矩形;或者先覆盖 2\*2 的矩形,再覆盖 2\*(n-2) 的矩形。而覆盖 2\*(n-1) 和 2\*(n-2) 的矩形可以看成子问题。该问题的递推公式如下: + + + +

+ ```java public int RectCover(int n) { if (n <= 2) diff --git a/docs/pics/508c6e52-9f93-44ed-b6b9-e69050e14807.jpg b/docs/pics/508c6e52-9f93-44ed-b6b9-e69050e14807.jpg new file mode 100644 index 0000000000000000000000000000000000000000..f7f3ca5b643e4c88b4851f495cc4fe5e7a5e7369 GIT binary patch literal 10166 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 U1k+zpntyh_=KquTAljGz0};lstpET3 literal 0 HcmV?d00001 diff --git a/docs/pics/db85a909-5e11-48b2-85d2-f003e7bb35c0.png b/docs/pics/db85a909-5e11-48b2-85d2-f003e7bb35c0.png new file mode 100644 index 0000000000000000000000000000000000000000..2c87f48ebe782068625b7b1a2c05e21e916ec890 GIT binary patch literal 2660 zcmeHJdsLHG5|7%|5;j0rgDe4}_MxS6d=dyDNf9jKBcTGKBmpBzD#RcU6Ie*%x+c_c*)nSRM@K`}QkZ5qJ14GbCG%i-}4sNCknOa;m}iyv5GJdR&Nk zyE8&1YOM4P^}e^({FjgFRgJ6A8^X_SD)T8mz9+zM@0Wq^dR^YXJ+~$zZ$o%|{D+p? z3j6T1x;F&fWH@p}X5*TpKGZxqN2;NvEnp?KGz9F@MkcKLm(f)mO9QG)a|#RFLqb9j zB!9)E%V`J3MMQ$%Se=eN+55NBxrQsL{?)sW7|29te!j|@+Y{2N(ykfu)nzHP?6ZSM zL+!i~o*g`M=8P;5n|m@}B^j^N4Q+lriR!y1S13dk>{MIiaO)qGPWvo>f6?scGn9v? z1`8lq5Run`U;6G(cfBd%cqf7pV!x3>qaoEXtf2LDO~Fk#a6|aa5zNFQ)l+X^;FQDb zcQ8c++l#Yn$L`I@vlN}S%pyD33dEwhyCdfKX!`ijnnrRXC0pB~T`*;Vm1M&2doL;t ziN-b=i+7%NZ|Wvnj|fvS#9X!3+K&Sr%hvig#h&!$CS?w#W}TW)TLKOSGj$Kn>;9TR zUyE72PF)TEM7iTrL%|A&a=G>~oXL7}N1+r|3(s1`B!`%UnXf>emb~>9r<4$08eshZ3x~2>LDw=?{~c$+UAxnwOn+lXZYNO1d72{b?VLYBgAt zSY+S7RR7PUOh3cub!hm?{vQho`5&p3{w$-7O@2OwwX`aoZUXgkC67ZW6#|)Jht*fz z=N*|<7^i>0H%0GiB})rEfZAw*$z)2=JilIK>hA6~M>S6Og^do&JLbCC=`55ktL@`8 zIF489(k?^wX=6nI_D;*m+3X)qU7JY)mfzoQtDSQeWHU2?)@< zwuuBXKD0!Bhnr*qMK3$7{j!G!uyX&aj>8v~!-4S4r0T0}JCeZ4CbBdx9a$q$YRx)N z&+#`!k%Jfv=ADY91Y-u&#%^S%j}Gm%y!fVGFW?OxO=9?~T_-9rbyDum`MA*2x1?4d z%<r^x}!ChU0M4xVc3Y@iG^6g;&2`aWOoHRcl#pgda7lJ zl8tC?5fNQ&+{LFHeO?;hc@D>O6aX5|OP|&t;#SNnv_#DF$J_8k*V4E$Wrkj4o00&F zqkN+O{Y{&gS1)bra@@h2KU)>OufGNtMzu%eO&-J*FPY8MF4z2A&$eutG~@o{>C91i zC-*3|1d*^KNX;4La>DVmqHRAw7tL?$HnCEREnkd<%8VNzjTWU$q40iB)p=t2Jr&D4 z1+7^eDFUEJ5o1es2c&W5lZuwc1cE2|LWHiY$+{$F z*F3Gy(}|N*bvfn^;Lc4yHe1P&mJ&^!59Z**0wYOGz<++K+G61$Se2j`h5wW%QSq;U zwSu5bG2gZP(QDH9*2ffFGBd62!KsZp9u^03JBj$O|U;J-}b@4%C3!&n+K3; zUZ9NcQQ&qtLG9uQ3h(I%qU#e6qSUXC^D*4Q1>ff4p`^v|bt^)2p|&H>K8O>e0$KtDrR++I?Qe9!R<{{Snq+Rp$0 literal 0 HcmV?d00001 diff --git a/docs/pics/fec3ba89-115a-4cf9-b165-756757644641.png b/docs/pics/fec3ba89-115a-4cf9-b165-756757644641.png new file mode 100644 index 0000000000000000000000000000000000000000..1a313d2dfc7091b81aac65944efa066af8db21df GIT binary patch literal 1194 zcmeAS@N?(olHy`uVBq!ia0vp^^MQB^2OE&=D)=V~q!^2X+?^QKos)S9a~60+7Beu2se&-0XOPMVpc;Em7srr_xVP8OYyaVtIsWnQ?m7F_pUM{q z9`#95d3tQa$BzBw&Ne&2q6dBf#*Te8!8)#q2* zy_)*$^WlEG^Ah`8SPbnFd;BFH3m^N@LL75O+mY`-en_OJr*GW6`Lf9Ed-wXTUcFkf z^;~-8fA_`CGY?EQSr3%`tpSzMZ1rFdHiYp{+&Hp9 zZ}gl`gyVk-+uM7p_NMbc7~I|6C!T+P`NpIV%a$!m%E>wN z<4VQ!>C-pv-!E@&ZvOGpr%7_&i;VZFZQieVx5&-SiYep)m3m{(Jk!-Ef~; zN{!58W4oS@R|V(4|7q9uQBwZck5?V*1$)+W3Vxh=`stVAedQ;=MyAvpYtQ`k;|OtC f6)9U!=$Ie;H8;Yoc)=%N`NH7o>gTe~DWM4f6&PjX literal 0 HcmV?d00001 diff --git a/notes/pics/508c6e52-9f93-44ed-b6b9-e69050e14807.jpg b/notes/pics/508c6e52-9f93-44ed-b6b9-e69050e14807.jpg new file mode 100644 index 0000000000000000000000000000000000000000..f7f3ca5b643e4c88b4851f495cc4fe5e7a5e7369 GIT binary patch literal 10166 zcmdUVcT`i|w(kz1D7`m@h#(+{bm<8ex(bK_(jwA{z(;Q(L69yYsPF+wmm)%>E4>D= z&>>1Epa=*g0wF?3UcC3*d(J)Qj&aU=yAr$jHRX!oqxvot2%Pjg^g!gOit=gOi7ojg4E7 zn}?5IKtO<^LhMeL@2_zyJb+85qI8S52QCMSl-4@-XpA zC|_jevvg)T?a!}rKfUmn3HF~?a2g@i>!&q&M2o|RKmzo4P1rG5E| zfuWJHiK*4iTh=zVx9wb9-P}Dqy}Sd1fX!XsiI#Kk8hCM9P)dHO6f>(A_*qT-U5 zrDf$6uWIY+8ycJ5zH9F8>FvYz4-CE^8=sh*!hQZSy@X$0`TA}3``SA3=g#gPX`lS- z;5T0&0Q{e9{WoWS#}^NsF9t?NFeA%vzCaA2bOQ4*GD#>i^Io)MarWmst#bbu|E2W8 zny%xLsy7G%cLPRQ1*O!M&JcgI_8*-6YmCMGKXLZojQy3bX@DIJq6-hq1HgbItDv?%}Q?0kKYFz+bdwPG~fsR8Ci!WHn@!- zVHNB5R2r>oXVZTq+8nBX^59e2W)HFH;zYy7k@v#&vCT2Qa2-wf zLVojc9mJL#IfaCv0Z$XCBWMy=6Ac)h0FgHTUZ5AlBboC-Ip17kB)Y;mnarJ35B1k> z%-YT&wA1C6qJ&Ian%_M%9sFj@&9B86HCMJ%z~zu{Ro~bkq%zwt_D+Pi4(NDcf(U2Y zWm9jhRJ%4hvLgD6g(N`^j9TW3)ecS4^{a67CNzAS$Z;&GQ%UjET|IS@r$v&{cUZuK zq=EAbPD_QKxPdjv?`oXxF}Ndc7{tqz_QwsA&aUs81zgqNi&~el^IXIsOqDt|7Ec3R$(92a-9+c|LmTnKC0WpQ>!9sEhwfzp&2Yv-9 zLjy8yFD@K{Z_|M94+=P||EYe{ZQz}G3goAmt{V-wgBU*I-kZd!61A7AP@?48;9Kr# z#w~wTw>(W}d(Ja!!Lpi9;kit`k}rnFg~6UbJ8*-)=pYzvpKuBr?iN?i{5fvk;92?r zRQBcNTP?*2SrN>r+`mmFf2;Q@#b-HHV~Lt}RQ9TB#@_c!ioD5rxaRPjzPX<%S#psD z%b|Gbs1d3h)=UEoiRz8_G1EQFFG8l7=B3@T{FgtxCvL!tb}g8EG%QkXjc;zB;*@y7 znDkA;uuDY5Y54MRs$J3mc(IYZ3}B9(U?89`=Gp zJaP^$6z3e<61Y*TbEdNWGA!yObpt;HN4Yb*3Af9; zMp+SPY4n+DaNh#!R_m?Tdb>`VM8o)pz~T9QHoNj`aL>!gfg$67KZ>U)?+r+DB5av_-$_6VI5L|+R;pGET**^n!l)$iO z-t=8SYS92DDRN<1Smh$LV=?uFDQ?f4yKPqgGNNd9Ai+x_@v-z6O!VLcDU@7O6gJaI z6(75IYVuCon=zlF7wQ};kruDhPrqTl0_?0gwfuEQ`K_d%-AP&rY~V3d74HnjB(+{7 z?&HzD?{qz?DBATo2e?a9d`9E1tG@D-)Si2oF?a!W;C3@wxl4D1W#;Kr`mJYXz^4(u z!PhAYc0RD~3(b$3zRt|{yFPKcvvlKH^jqy~PCd+&VAiN_!4oOgzBq%J}Cc zLGe7qS*mKL*jt8ZJ$fiBV3d-Tdd_MPoPPN%ds!jN=?u>sc%kHr@5D@N4`P%MeL*lm zZwPz4vP_J65`_kEZKUfBB?L-*6TI#kmv$97!0kV>SHR`-w^6a$3g1u37#2Z)7Tuu% zSM-8|J1LPwrlxolJ9+5f`~72MzAh`vSxHY(rO{9}x&h0g2c9fr4z^i#GCHnS(nG+p zrlrFcSX{gOWXUB3Mc+)#{FA(K`+?--qf`Gvy!uyS+JDU_6{s z1z)?QCv&x>J@@EVy`m}&XntjK#01zCwfm9%@Sj3SPsjHhBaMkg-=`fkcxUWxd-)|5 zPaAV7Gp_3T-ygxL5@bjjMC&Z#p%Yn#C}$Qq=RL`U&3X@ff`EvmvU1_&Q|OEKgt6~F{!|%;vq-yUTfE7` z{t=aZQ6FN2)FQs@=rsp>wx4OZEY|+gx9M0y`LN$uD~z-b{{c&I5+epTZS9G%^j=Uc zdDp+yI^t^e<5Ke8Lfp=p==F3+oLbyz1!k%GCy-zV!1O5m2=Sf<_#sM~j`Fr$Tvha@ z3VnP;AHAGQgil55?dVUS8`Tsp&;Tl`syIK5^i*T7lpO1j($jnmTd1oc#B)hybVm9Y z7u|=KE!yUAfyogX!a?IzlL>`9vK17oR}SBs#Xfy4P4}-J7G}DqV0!$_YQg*^s(ZBV z236Fir(>6yC`6?j@u3`S=_OK!2I%|opcgx6K<(=evO_yP8z>UMryU;BeQv)eJvI1% zPdkusqCf6vgi%7GwTF*Wd`2nGRb8dG*CHnP%$}PBdwj*dW&AnwNZY0mmlY<1w{F98 zaoc}!qR8Qps(#X;-Ws)be=c{*RRPLHHL1<}e)2cV8 zb?vB*5mO;|E=zdOOu>^2qnwo_Y*04)nU2UGj=RT zTzBrdnq)I*=;Q-V6yrHeFyuv5^toDj!xIZ`+@GdnZ75tQe(ND?h%G zMmAqgf=Y#n_w>d|*gIYcC#5p~&}+Ga?GM#Dg>(L&^-Z`2wkpyt-gEcp!qzqU>&e(} zq(e*N*k4X|@dm4hv-_J)b#NGJ4s`*|K>dW0&skuLd}VO-1Oy2i)UK5k|5d>EX#!(d zRYta^0fTkz%8Wj5%^#=lCk|@K=;E#sR?pGKFUAX7$T17K{+?P=|KY?xRR|7Rl$CwH}7`p9tD0S;?zI`=z%~NyQKGwl|4#j~v>(sNTaX2egI_%YUcf@e7 znIpI-;#OCRWm4$Ygp^f$f`s{i(q*2swl0hzT@_6!dPJLtL5d7W=+yJ}54TP}?z z{Pr^yti}V73#NO+cEJ9$Y*938KM|c=Pv0%Fhb6Azwy1)3x1`$EE895n=-{g4msOr5 z)Tyzppv_B6?`q#&KKbVDfZMJbi0Id^D7x0s@N&4TN~q_;zKWfkPzp^Ilaw$t%KrT>^LFS#$O(fquE+qow7~5b&p8w%L|1O`20)0bp&DyuD zbMnr45O3e|D`ESLmK2wph^AAlt_6$vNd&)lVxgrW!=q@{V15gb!CwfjN1a<>^=Utc z`ZRyGCS&$Ps0XOEF&(;l?}3&i!R~&;tmiqibdYnByc6ymlUfLNrmwvhO#@?>8#U)u?_?G2o zkWD#Vg@3E@f6*$^pRnIU19;V1qI7yATt%y%3MtP^X&e)|QuDm{&VlIn@&eX6ug1Ey zZ{5Z`uRo$JAEafuD?g05`)+{=DNpF=nWa~>UV;bVU%sAA19rglfPsX_cF)u+}3miZ||OT zGduxZhv`v#(A?YH6pQ32A|q~ON-}2I1sC;68XBK55vyhS>Xh;~1<&7Px&5B%tm^j&X$gRSsQHpanyu6q&nKky+R=bV=eCe$ z6-8gXY-ZOQH6^A_62?5pX?mJi`H}UfcRARMPSglAl!)BpWO%i6!1|M(QXwErJ@~h3 z3KzG6zHBS3G{4Ef^Hzo>f}l<);;DzA=c~y8>6Lu{9&FnF5@8ejaC$zs!b=oY6Vhm% zm33k0mD{PuC%G>$@c%^M(t8tMm&x^<8UdI81yPe9hRPz51oLh&Y0_bD#K(|I&$yCQ zffse3xeFGbY&a#r&r=t~*+%Zs0QdYv(Fsw561(~l?3mLzebd#CmKhVEUB&xIN4I5q zMgG10%y?5&tabgPpB!@`+VLV34*z@}l*9t^EKxceUBUd0koi(&#=#+UeD={v8ZZvk zS`RQVI6O-a()AQ28c-ARfgTvEf+2#sVm`~;3D8p`zQmPzyINjD|Fl0*MbX;jCAW)B zxVH>J&l3Ld+QXx37JAJviFAyL0t+v1F{!kZsBiPok~WYz;Boq*&!p_0TH@JLk#1-j zqXJ`%3ZpBRqD(F+hWMOIzFztB6>F6+NUNSK`15ZBMm~W&NOZYMR$a93;Pv(#e|_&w zmyZZ&HM^EqeK;VjdM?*HQ#V?*4=HizkF*%4I1*Ww%wq({ZMoY!#J;XbcVGNg!i&A$ zm6jjlpA77q$HMBX`g_fj4)X8samaR++u2GN;RK1=J-lxWZU1bt>5bhYc3}+2HAK0E zrH+KLs1C15MJd54L6_}oXHRkJF$YB5uYxc(rdH4~FYmP+*C|Dn*S@%r(&L|Hr!|;G zzB7e6VhiXHOoz{vF_RrN4C5LbN+3&e^G0jB5)00Y9zBN{XEv;5WXso{fF`P?ZTt@kQRC24Jtoj=weEz#Yz8D_PoR3iW^s$ni=WJ;DBLHyCA#MheUW^5`=)AaryEv(C z&NTyB@SY-4H}%&q-lL{B`MxWo^(qJ z6Ja}v?it~iMq8suikm4q1~F?sH7l>=?mt|K(caNN0p%no6(U^;m%XW+Q)BDX!E#wj ze~fDC##@UpavPnlg9;!mp7iBBs#|Jv2f5%=1Ra9nA`Q}%Hx$g zOt$L~!9K2)iA6U`{lw)f4h`!>q9fXRmZwTl0@P6myDl7DYripWR=95Z+&9%FG)1Ok zTiAkSTTF3FLamdJ54z}yDSjU5m6%!FaWwe)H(iw4-U_-inA> z%IzzOJ)dKffew1qXUU{E9+gm72sW47Cy)lO`-Q$3ePTBq>T6Mae~fXtEkZi>^<_K< z*Y!z-I#T3D*p|z%V|8J|cf<-8`D{YWt{8-#?pv3+l-Sv=3km&E-=us+&`7G$L~jRf z`EP=Ory!5&n{c{(crk6=Y(=$=l;D1c)~m(8Mp#zO{~iU-Tp$=9ZvQSM_}k?u8WUf` zw(&0n=Z_n+>|ZXHh$_>Q7`%?PV~a1WiTj-^xi@3jVIYP3;Wn3sEs z^+z$wKQ402_k0acU~4()F{8c$ua)V^Mv2mafN%LB!roatCvvBpW5#N9skRvR0xr=E z-16=8_hw6kY#lUm4z@iPZWFsnJx7N~2*kTHgY<5YS5&g9mY2Qzg3>ZXrYb7f3APxi zli1;@C^D*SG_qj6BQ(r&b%x~e9QnfEsgB-W zw87>{+$642_)`qVztRBXIs*3onJx#n8zzqhU=A;%5U;}Oj7EdmbWR+ZPL2Ki@h0Z@ z%Uj_}$2A!b!0>aZK~bHsy5)VWU!tl|o`^cvj})!v{)yr@@05+F>qDGy@8KZS80_9~ z>ZPUo@Y9mVAhSD~M}cr_+()~{%nnu>aPJVtqpY-+r#_Zt=5=B#sz^G+<;jfXZ%??~ zFUpx+X*)CTJ*Hyk6{tW3b#jQz3Lh!M={wN{qv)_CVW?6_i?#-i$ZEumenh~sW{k8a z0s0bzDMOtP^Rpr*^l_<-(SsE?yeY@Q51)n{R6Qj2-ANA@=w@-?mYBMwp%Mqo> ze%6Q8fcHTv^Q7fx3l=^iFGPGW+!HB&;5`%WF?<;KOs5X3RQAy3%>T5CNIibg@;{hQ zwbyB4(2PIIMI)Cb_v`cOAA!kD27tg)zG%ZXH^uN>{?c&FgU9OA;Sud`S+;%@_=?=5 z0mGLxTxNqYmgKn7jp_c_V0#EV+-@yru9rigVGgfq#K)7`tEdGKx8WjTk)&%!uXGh% zr>4>UK7#zAD#qPI_geDI_#TyvuuP(lAz2n_K&-YN<~~K+Ic8lmwYP@eYWEsKg*)s? z)rIP9U_1Pn;$BlleKp_F^PglzDR9j7l_41G20fL9#dL5}MP|dYtjM{`2)~nvoTsC? zh+NNX!TB@#tjL~s01ig1GlwVBfcmB$zvJaQ_mCIH5E1c1VPW%{6M3L7QhruA}r0<)w$fuPJO~UToaV1+CTA3;K$xFtRbQ6lgn~bcLO0a9nG2N ztA4`Ex8zS=(K*{+DgEVYph0SHJGhQ~`%uHHIkm5OdSU(eg^EbsSoV3B`egIP?zeuQ zeO-wfDNs42b!#*CG`Y+^?DehT_e44DWyOgVn{n;!p2^8}ezV2TThNbHrKNdwM%cM> zA<3T@B{JV3Y@G@wU}EbzeDULlI^CnSU1B-4xfRzJU6FY<>`Izi{GeS9ew$pR^%PX1 zA6@1JWg6XtY)gHZ=suFJ@g6&#~L-l15 z3iOUrvAsr#Y2kI){HI8_7paZ;tUU>U$A>pgEDJM{DZIT zf1ar6T-K^$l`Y_U0$VJH|MWzirU95gVYxP=kmEF9B{NKe+Bt> zVvAAcU709JLUnq9<52DECw30%1Gi*=$1{;TeG!?Tmc zQ9SeM#EaxtY<_pOIVV7CH~%4%``=4qB-5b{>QlQk*@{?cepG-GyloO1>DzONFll5# z5?zJliYuI3bZw>eZJX=kn?ZZeng$x*ymp?M*aS;QE7Ff@fWFZH@pd|%Ek@y^AEMZLsbk+; zcW!+q^!(y6P!>5sPY&_`4W=V$ar@JGuRKKK-<8Ytseewpo0!GqVlX&eu=8+VeQm-5 zbhDvKe7slm*3^qA)>%7;!birlu1e}5$-vI=0~Fg7RczWZEaF>G8{w#e1|&Ir?TAQ! zLapdW282c~3w#gyUrxA$V;;4ia711uI%VdJ-Xt_;$u`@oBadqDDCu?`bsqn9JwRW5 z?WP6T@`~rHV%B1Sv-`zgkDq|>`NAFUm5RxE+M^WP=ER!GpwHs-7cwB~muhP>iX{=w zX)x1Wu6P({P)8h!w`nBknKOf`*|~=SWAA5MA4X<`S69 zvZN*9+S|xu)_8)%&*IR}B5lLo_;x{xBAoG4B|`hbf-mtxopRm*fwY!5eps&jqD|#m U1k+zpntyh_=KquTAljGz0};lstpET3 literal 0 HcmV?d00001 diff --git a/notes/pics/db85a909-5e11-48b2-85d2-f003e7bb35c0.png b/notes/pics/db85a909-5e11-48b2-85d2-f003e7bb35c0.png new file mode 100644 index 0000000000000000000000000000000000000000..2c87f48ebe782068625b7b1a2c05e21e916ec890 GIT binary patch literal 2660 zcmeHJdsLHG5|7%|5;j0rgDe4}_MxS6d=dyDNf9jKBcTGKBmpBzD#RcU6Ie*%x+c_c*)nSRM@K`}QkZ5qJ14GbCG%i-}4sNCknOa;m}iyv5GJdR&Nk zyE8&1YOM4P^}e^({FjgFRgJ6A8^X_SD)T8mz9+zM@0Wq^dR^YXJ+~$zZ$o%|{D+p? z3j6T1x;F&fWH@p}X5*TpKGZxqN2;NvEnp?KGz9F@MkcKLm(f)mO9QG)a|#RFLqb9j zB!9)E%V`J3MMQ$%Se=eN+55NBxrQsL{?)sW7|29te!j|@+Y{2N(ykfu)nzHP?6ZSM zL+!i~o*g`M=8P;5n|m@}B^j^N4Q+lriR!y1S13dk>{MIiaO)qGPWvo>f6?scGn9v? z1`8lq5Run`U;6G(cfBd%cqf7pV!x3>qaoEXtf2LDO~Fk#a6|aa5zNFQ)l+X^;FQDb zcQ8c++l#Yn$L`I@vlN}S%pyD33dEwhyCdfKX!`ijnnrRXC0pB~T`*;Vm1M&2doL;t ziN-b=i+7%NZ|Wvnj|fvS#9X!3+K&Sr%hvig#h&!$CS?w#W}TW)TLKOSGj$Kn>;9TR zUyE72PF)TEM7iTrL%|A&a=G>~oXL7}N1+r|3(s1`B!`%UnXf>emb~>9r<4$08eshZ3x~2>LDw=?{~c$+UAxnwOn+lXZYNO1d72{b?VLYBgAt zSY+S7RR7PUOh3cub!hm?{vQho`5&p3{w$-7O@2OwwX`aoZUXgkC67ZW6#|)Jht*fz z=N*|<7^i>0H%0GiB})rEfZAw*$z)2=JilIK>hA6~M>S6Og^do&JLbCC=`55ktL@`8 zIF489(k?^wX=6nI_D;*m+3X)qU7JY)mfzoQtDSQeWHU2?)@< zwuuBXKD0!Bhnr*qMK3$7{j!G!uyX&aj>8v~!-4S4r0T0}JCeZ4CbBdx9a$q$YRx)N z&+#`!k%Jfv=ADY91Y-u&#%^S%j}Gm%y!fVGFW?OxO=9?~T_-9rbyDum`MA*2x1?4d z%<r^x}!ChU0M4xVc3Y@iG^6g;&2`aWOoHRcl#pgda7lJ zl8tC?5fNQ&+{LFHeO?;hc@D>O6aX5|OP|&t;#SNnv_#DF$J_8k*V4E$Wrkj4o00&F zqkN+O{Y{&gS1)bra@@h2KU)>OufGNtMzu%eO&-J*FPY8MF4z2A&$eutG~@o{>C91i zC-*3|1d*^KNX;4La>DVmqHRAw7tL?$HnCEREnkd<%8VNzjTWU$q40iB)p=t2Jr&D4 z1+7^eDFUEJ5o1es2c&W5lZuwc1cE2|LWHiY$+{$F z*F3Gy(}|N*bvfn^;Lc4yHe1P&mJ&^!59Z**0wYOGz<++K+G61$Se2j`h5wW%QSq;U zwSu5bG2gZP(QDH9*2ffFGBd62!KsZp9u^03JBj$O|U;J-}b@4%C3!&n+K3; zUZ9NcQQ&qtLG9uQ3h(I%qU#e6qSUXC^D*4Q1>ff4p`^v|bt^)2p|&H>K8O>e0$KtDrR++I?Qe9!R<{{Snq+Rp$0 literal 0 HcmV?d00001 diff --git a/notes/pics/fec3ba89-115a-4cf9-b165-756757644641.png b/notes/pics/fec3ba89-115a-4cf9-b165-756757644641.png new file mode 100644 index 0000000000000000000000000000000000000000..1a313d2dfc7091b81aac65944efa066af8db21df GIT binary patch literal 1194 zcmeAS@N?(olHy`uVBq!ia0vp^^MQB^2OE&=D)=V~q!^2X+?^QKos)S9a~60+7Beu2se&-0XOPMVpc;Em7srr_xVP8OYyaVtIsWnQ?m7F_pUM{q z9`#95d3tQa$BzBw&Ne&2q6dBf#*Te8!8)#q2* zy_)*$^WlEG^Ah`8SPbnFd;BFH3m^N@LL75O+mY`-en_OJr*GW6`Lf9Ed-wXTUcFkf z^;~-8fA_`CGY?EQSr3%`tpSzMZ1rFdHiYp{+&Hp9 zZ}gl`gyVk-+uM7p_NMbc7~I|6C!T+P`NpIV%a$!m%E>wN z<4VQ!>C-pv-!E@&ZvOGpr%7_&i;VZFZQieVx5&-SiYep)m3m{(Jk!-Ef~; zN{!58W4oS@R|V(4|7q9uQBwZck5?V*1$)+W3Vxh=`stVAedQ;=MyAvpYtQ`k;|OtC f6)9U!=$Ie;H8;Yoc)=%N`NH7o>gTe~DWM4f6&PjX literal 0 HcmV?d00001 diff --git a/notes/剑指 Offer 题解 - 10~19.md b/notes/剑指 Offer 题解 - 10~19.md index 4a5b7c1e..741289f7 100644 --- a/notes/剑指 Offer 题解 - 10~19.md +++ b/notes/剑指 Offer 题解 - 10~19.md @@ -65,7 +65,7 @@ public int Fibonacci(int n) { } ``` -由于待求解的 n 小于 40,因此可以将前 40 项的结果先进行计算,之后就能以 O(1) 时间复杂度得到第 n 项的值了。 +由于待求解的 n 小于 40,因此可以将前 40 项的结果先进行计算,之后就能以 O(1) 时间复杂度得到第 n 项的值。 ```java public class Solution { @@ -96,6 +96,20 @@ public class Solution { ## 解题思路 +当 n 为 1 时,只有一种覆盖方法: + +

+ +当 n 为 2 时,有两种覆盖方法: + +

+ +要覆盖 2\*n 的大矩形,可以先覆盖 2\*1 的矩形,再覆盖 2\*(n-1) 的矩形;或者先覆盖 2\*2 的矩形,再覆盖 2\*(n-2) 的矩形。而覆盖 2\*(n-1) 和 2\*(n-2) 的矩形可以看成子问题。该问题的递推公式如下: + + + +

+ ```java public int RectCover(int n) { if (n <= 2)