From 35ebe88ed4ecc656fb08bdbd8301f661b5de6269 Mon Sep 17 00:00:00 2001 From: 0xff-dev Date: Tue, 2 Sep 2025 09:31:59 +0800 Subject: [PATCH] Add solution and test-cases for problem 3025 --- .../1.png | Bin 0 -> 29859 bytes .../2.jpg | Bin 0 -> 29621 bytes .../3.jpg | Bin 0 -> 24493 bytes .../README.md | 58 ++++++++++++++---- .../Solution.go | 30 ++++++++- .../Solution_test.go | 14 ++--- 6 files changed, 80 insertions(+), 22 deletions(-) create mode 100644 leetcode/3001-3100/3025.Find-the-Number-of-Ways-to-Place-People-I/1.png create mode 100644 leetcode/3001-3100/3025.Find-the-Number-of-Ways-to-Place-People-I/2.jpg create mode 100644 leetcode/3001-3100/3025.Find-the-Number-of-Ways-to-Place-People-I/3.jpg diff --git a/leetcode/3001-3100/3025.Find-the-Number-of-Ways-to-Place-People-I/1.png b/leetcode/3001-3100/3025.Find-the-Number-of-Ways-to-Place-People-I/1.png new file mode 100644 index 0000000000000000000000000000000000000000..d5e911ca06c31e9a4683d3b8211912704848e9b5 GIT binary patch literal 29859 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 R|2jIse4WMGWYe#|`9J4p_y+(0 literal 0 HcmV?d00001 diff --git a/leetcode/3001-3100/3025.Find-the-Number-of-Ways-to-Place-People-I/2.jpg b/leetcode/3001-3100/3025.Find-the-Number-of-Ways-to-Place-People-I/2.jpg new file mode 100644 index 0000000000000000000000000000000000000000..0e4c1d663c70c006ef2af0a7109088bd0439a310 GIT binary patch literal 29621 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 D$n<*s literal 0 HcmV?d00001 diff --git a/leetcode/3001-3100/3025.Find-the-Number-of-Ways-to-Place-People-I/3.jpg b/leetcode/3001-3100/3025.Find-the-Number-of-Ways-to-Place-People-I/3.jpg new file mode 100644 index 0000000000000000000000000000000000000000..1471160aac489c4af783b8aa0fab47ab1ad710e6 GIT binary patch literal 24493 zcmc$`2Uyd~@&Fpea#YlVNRg(7CS8PpfM5$mx`Bj1Xh*6f6zLr-M}%O4fPjRiln@dE zQbI2(y-P{xp!BXtlm6m4_g?W{&n@r!fA4L+{4%?_`{zizTxgz zy59Tt`xk*x?<)OU?EpZh#9!q3cgaVrtX(Y`89p<<0xpck8N{Auz^85hgfD!9E&hbB ze1kpR?zu7Y-2Mi;!1Qi1U@HcE!FCU9u?M!i=khK8Q%0UE4)*Tf+WHp0QOs=Z2-j!) z{=)e309*lj00`j5H~txMMsP|704}cp08G!mr&+`T0ELeM0M5SeX#y_+fRn!i00nK| z)4un~y*n;<{;2K%^)4jwx4%h97pemQdF zDDz3?qsLAhJ96YW%kdK@fBlu^*Q3m*SWo@R%7B0UR>{6^C7BNV!YKIbu_MPAssCfx zeFI?mWuNAO*G&6>fc-4{m{|7hRs(py$=ZIVecwd!Z{hI4LyUHg?Ay;k>;DR1G`xTR z!Cwv@K78cxK}ME+`rP6IDr_n>yMu|x0V@n4cRaDLt{0Fu*# zySg8dx#9L8GB>}2Q}Cv~MffXOmq)2Nj7oX_rAfengG`4G@89FAC96fk| z=})Tuh_W0yFAY7#di_rLY2YPUJ!h8(IqiqpWNy6Wk9gIgZ}IWrZXbY|QD8p{6AR!f zV1vM*mFZf8R18WR{WfOFC<%s^Oh@nXqt<&f$Vom^i;VrC14Xn3YS-5BbIDzznlrOd(=n_ebE#S z);;d)-(CxkCAi*iaHtvZ?@1PRL-#M>WWM-Xv9t*}1ZH$MJFXacRQHArN%uz>qcc8a zB1`Pp-sj#O$G|Olb92FiStv0$o3cP}lck_hxf6?H96cS03VxC3e1-Mi*HA+;Y&Z|0 zfk_q;QnK)@zRx6faSwBQL8fb@3e(tZgJuWnm$Y2_8zsfdr5h&_qVhBCv^FW>QlI&|%dV8t?8c`~!Sfv7O>&@cYPF<2(hD)%2tTZ^~4JsJMz9=Xr_@X9^;*%`DeeKz9L3KUTvq6b zqT8IIGl}BuYE3ahSu9ul6g)rcPsCl1wxa6msI16pn*hBwmvOB-CtaD~9nCwB;BKSb zUB1=_RoUbq4i7)_f^H-?oV?Wqw~Q)F$X$p_7wmT%BXk*6&z3v0W_|sEgTF;|?PL1O zA=Os(fSR#R63XtUk$D|IOsGG=CI3j=?Lw0MQC*r`g($Taf%l`W3@ zW=YZfYE#q~F}3QCEvSARv7Ds^^PZ14mw74`kJ4bE7<5Z*FgA~rNNs^fH%c@nuOw!he`7vl6Jz_Fc!V z6VEOBq#pEt7T4jRCwhL3Xw0J{+ZRA}Bd4upV-0+okjk}1TQ{EmY%2OzLVEq+ zP79_d>x>-4<>4SIzoW_67@<^T`S6#%EI*vN1wRxXc<0#_?eR9UQ+@7H2S5&N7cjUw z_V81*GH#dg=ImYeSQDm_b78lVEbTh+%JtWpm$(%SPL)~j0@PkCCf4KD6B?UGK{*k> zIa)5tOtf=tPUiAg*t(q0*hus1wqNyEtEiFy6&;V96EQyg}3NnQ?fvViHn>u#7w z@$(PrDR+y#LJAv?v&J`B#D01EXf#jS1z$8kaW}zq`ARq|v$654l1*hITo5HQA>Nl@<0811DG^SB$;K}xzT#68f7B6VVv;whGM>a`Ix}5io z12QmFZ6&QxbsZJ!-D0daK7uDOIM7h%%kquMbMKV{gLUrY7F*8~n#I~&C6=q#b9!ZX zuCAwVwYAjANeNdLoJsIikE_iGujgD5viu$FD;pR)`p#JO`0?Xen8aTDl!p_~v}tWwhE zlVHD_=S6?W_GiRz=gZm`QiIX6fvxy^9wy?j&-&GKxJmxAy2^esG9mfPm{O^0L{fy- za4XEs0S5NTj`d4g8I}Ix(5x?54Ma9c*g|-h&W@_xG(VXp#Q%ld8TG zK}CN@i!R=^{+bFLmPz$D=>1DfKU&AFow zYzq*5F2^*(sj{tRLbqy$A9|Vh3P^zmvvtckY=OykN;egP4zuYf(va=kDbHO)a6O5E z+UGZXKL=pL`krD|8%Hy1F5_278L>;`PBW~*%r@0HWZ5#$XepUAY@1&RyGXHoN0ga6 zw9xdJ^nupv@iF>{al_~4nn|8aGab~D>LwJ5V9D~Ce7Jt~H|m*MSA!K)Y0Er)#yOv$7k^1`rFN5z{pyD0A#9Cug!)wl zZ`IpfTMbHV${dbE%_^BQt?pUHT^pf9suq%pepz6A&Zi`z?G`C?;EYDmjCsnDP%pzRPs7e`L{WSlf``#|#zBkPnqF_DUd4$i?lt&2b1rBWJmHnLF zG0cUoBlo4pqlcX3Ud@1zf)-A^q+v~&vY|TNYMec+b*#*nn&r32KeU>>A%W&>^Yi}2 z+rSE6$?Fk5!_4N%6T|rums2?P5us|VmOa%wse`&#qhGP&H3k=6PsGrvpKR&d%2N(=i%VBgR7d=^sH|}W_i$|HmMpos`-rQ!!J) z(vbQxW1#%w(og->alX3OEW5cM_qAv{m-Gtd!<%VF7YO0GDr^u@pjd1v!VPR@Zue?D z@wJcZ!m9Sy=y#0Q?hk=!JjgDyc&BI>?Rsq0G{X4qS;Q5CfdI@T)G3I@>_Rp^-F{+O6P5E=di$j^CYyP!yVB8eug#aHL=}xCSQCD$W8v`detZR|F3LS;mKYEL_NXUw zT?<_&dO9S+kX64=*Fw@(JkhNh%@6wu${bgelJxK8!kSm>_(`I?rD-A0DvV;q%XICZ zrSN2{b3Mh=RFclT=9gGL8TI_)r9>R=z~Gl+Ijh?_tlPp$kAss?uU}`oRf{o5?^ojE#~IYQrTey+KC9l190s z6||@kY02d*3(BR=4=I-Rho99vwO!#@<8U*wXRTAJ&;OKAfDZE3;OP!-K32UcLfJjV zkA4}p*4nM^)1qdf^C;!UTBlxa&Y|iXFWh*Zh@=R_sCTayuIo@`x}GyUG_~z0pKrzo9c z?lh=@0a?#Z4o9%9tyz9iI~N>MvU$vio>FK$KX|o$`SkLTt5|y6tB}lTYtusC0$uf{ zTt{+S#J)+NaRmV$Q#&prj))c-`lYsMT`q#db{2kiwI?j?2bDX!` zJ{vmEK0)s`n(E7M_GN2_i057s(!M0D5+oQd5bmj+V%hCBuN&{K!2ZhA(cH+fgc=VU zw(`*_yx_t`3OJ)6HTEiGKIp=l?vl0zB$veS5j?wH=Lv7;))1UTl1;hWRJHC28O3JT zHL7V^Kl7m`cju=V0=oMa0qCiQZ=RLrtyt?!(Cbo?du}&$o!GrvyzIesMwHI3WZQKs zKKTKra=HPS%kZIQe9lUqBbJ-kQ0iUqgsx$yC|6U*&caA@xJ*$ZR=e9qK9X~&HU|qH z3z{bmLGdBv9s~K**cyR610%<<(jlpPda1I7K3-hI7t!IY5AxhPRMa_J!g(RwosV<* zS&i#1A_t9Ha^?jK8^q0#s15Gl7e%RE^rFsGN)%5Lej$WiPN`R*9nao9;hgW4DG85( zcM!@&8A4oT9t4WT?cAF%_Ka7fTi){)f}3k#mPs}WGzKcc#(@$=>PH@eWk z5Ukoa&Vm^s$$~eM^xH*)+&K`ZF-w}PTKL*p+nG-u@r6=(QFkOhyk1N@4F>yfFDXry z0Zw(^|32n_gLqu4c(qRHH`TlqW5a#)p?bi2Jzy}Hc{zuRa9Yuza?p4@>Ja}Sb=Tye zWK9WDr+&DBLBT6KGfJY(`am0+Z+b%wNNA`!K|NS7h$1X0nI2T;;c<#dP7le+ z!!97o`#~)7uJMzin{YS+|6o${MDolrzvLxM?cKELl~W%LGj$1?SW!hexsokPI3m;< zA~qBp(xM0&rk;f8X-cSy%e3jtcne^&{Ul*Q=e-`yG zi~#_LpYH-1&xTA<18`TRx{NV>mwfd~cytOd>`mryJW)utqlqmiT}0g$bM zE5*Gvy~|XUWI-dF9?b1!qIE_4sKU(UANd!>mx8RKpuGIyY)}fCv(e;}Y)(uM-VqFk zLrW3^b|$sAF7{}3+shy&Kg^O^$RIGyLta~kd*ni5-(+6QnYob8Y17*qcM}lY{0WAk z{G1Cy)P7g6X{6i0#}dWz=d6l7^pbR|46@DxW;q-u#loRNL|-VP17?sbx8b6|;ehWhFUl-D)g-$lUi86e zK58}oVaJ$*woFV>X^}M2=PUW9{aB^?<&F z^oGS)Y|D$n&`yriP92tMTy>lYiprP6lu`&ebt!~waw5cQBG^#&M!VeabcuKE_lA-` zI%j}4ZsdN<6=Ib^<*%iO+&#sB6bm-!?mJyqmsk zQB*yo&d=rz(X0NOjYS(@Db!rKd6a%d^pVON$GIY8)^XDq$1}f0l_fDZn>jbuj7?d;*}cJh%MF*~*8O@;ivs^$4EPoeSN`oz(R!>oJ`(4~;M7oS3g)?v4= z;P1h@k}mk62K7&>qpMOpjPDJ~qX{7myazNYYLHJd8UC!k`RbTsfZ7i9D^|l$oUWvH z$C2RjR^8KjM$s<)L0L)!LBw$A2%H$N&Q(9S1~c;&PTLCiOZtLk%ePv~+|ks`wa+R@ z_yVyfMtIrX75VrvJ>7_}R%|Fj6V4ySg&lH;^e>8unk%Rs{p?*XpF>|x9?E0Q)Y94+ zluhv6F&;oz$}!2jvCSWm;YJ!$GplD=+2Gt6o$B2?1M+s20h2EQhpjvr>!W`e{wHsC zUll@K(_9mD++7wfOOq}Uc@-7BdaF*T6^$>8Vq=3sy+uWquA1cgIPB}{9yyKm&Eeh@ zEE>rzhU?*lNN%f>3f|;b2$1D4{@p5JCZ}ANP@UbV2_ETokd5O=Bd5Qt=qG(FHAGKZ z6hEi6JLM`l(D)*=15+f3Xh(~qf|UqPi-%2XvK}i zjYA|{`nexi-Y#9zt1yWr-w54y=s(&@*#&$~-mdozyy4b>S4h2F5l4Z+;c`BwH8x&^ zL!&?)#hq}iF0;E4x&ql?v%5H1|Daxb8&hodnHR=W%a$7MFA|n&J+(e#hvgNwF87pG zi8M=E<|&yTAtZ>NY7PdX*-|V9$Wd3xB_DR*1+q&)o?k%1Swi3J+Gdh%4 zybCDudQyGq)XRS@ak%yBm#25LQrjm*vf=W`=Fnpf0x(|I$PKY|;)T{kBnWlb&ziatWoLCV45=u3n`?1vjk{oCI9$I~xZhD&vh~)8D&*D}Ocjk> z%bT~h<`t}s@b!Ne&4ow47-aseRqf|eJJ#FmiipG$NtniM=#WMJgE5rLznkahYSh;jxy`OcaO$*0yX6Yn^%fs7UTYiY*b3I`I@U;m!g)=q-P}5LS`-uIThAbuHY%mw5hs1u7P4jnMpL#aHP zmdrBC8F&J{NaCgiNWdozrfpTVV|D?OU{!Fmq$J0(?ubP(7OtbVrDxrL)l#yW7Mz?h z{7wPlR9X6|yi2ZW(Nm^h99OH0p=xO>YBw&2;Ag_rEM%ADeUQ!x?P-dg=k^7R-Tzl1 z0_@A^U(x)fWJ2bHo4iJdWY;!Oa&;rRqk*4={ZW;<(sK*4K5y>oFx01D7y3jmq^Y#)w+K&FxGFDraBxhxSHza1st{qD= zt!uSI3q{*1Mk6n?L*zi%tij<(o7o1h(rZI|TnJrx_;jsb;_ZSG5WRGyb?#CHEMw`Y zqfm}m28&VQiGER%F?lop zvyuC2Mz`Q<$;FMq!EvPQ*R*>Ko?U19`U9j~NW|#JEDLU{eI&yfAVN$JWhaDvN_yf3 zo4$j{3tTRK_1bi5*g2oxKN^|h55Mw^x(lEoKv0fdK*Y(EzCfY@22&~%kUJ_HZn)JK^yruzawHZ~p{O~XsY@!_aspm;b#`);PXij0GJ2;#%;0PeFeoQ;6F{FXb z_u9l?^ZZlHz8_ZBW3B&sMd7E#_a^>N@6Npi{~7)tXZe3F{zH5}Z!k&)HE&jg%o}gW zj7H5g&Rp?G%;EJbDT5P0DT*gYb?Y zL6;I34ucK1xz@A_mORc+&fp0tRIRi`B=)-~v)(PeZBBuCmcq7`+5DI@(jy-RZ{s)*w{Sc}+p{V4V8WNa}4=<7@*UWCERaw?`|W3tdO)U8(t>j~@iDt5}9pB7at@!7Z~mLV|uFj=mNwScj4 z8R=#kgLg5%%k$<3QvXxrP{MTrJ4U=lMl^Kr%c$%zv8fAWvLe#hcUHN`Nf%Ti&o=s_* zFTQ5*7aIsHzE@jwR(|GlVNBJuxY(o=D75J!5BNV)zI|JotU@858!DNx2BnW1X}$VA z87)^)T#081(akqz5xyH9>poe;5D|;Sd06kTrWS7G77&K^u-T%SGW=P2m${%Jz>j8` z=He%#fnC7Bm761Hj@OO{W6@Q)vsWvsF2(1Jec*J*P6d>_pufj%FXd`lyhxW%uCap6#tj(KaJA zq^SFBF!cGq^C*7CBQK{^v=5mI55iAtN;C#tNY6;MBIZ`{#G7&_4$)JJcyqIzjy_QS zpKRTqweyd(rKmg(`USs?3zy0sF;gi8q;_wDW{X6hPf%xP=JN_C))aR!Bkt|v8!Ay= zh2i}hN>VA;_#7J+vG$H7zg=u189bq>R6Wa-5qv=G>4`8d>Z436d@7YQw>`R@{!)6z zc#sW`kKr$=aw)2%sn5JhpE?6v6irT%H{*@8nqTGO+cTrS{0CA06%Zh~=`w$1_@RYQ zCnVeG;F53+#b9l4j*S_&sp*#uw<)`6;9>d|vnJdxxzF6n4kI!iTSM>fP6BCAlGS-wK#&XY`k{6c zYxD2yxPKDV)6>^$h4zAe0#A(TT8J)`vYPDK;`;}=|1I!?h48~<_utm=_k8=U_q?dI z$p2wk`R}EE_WOT0->4@L@LTxWBsJtyFkI~69xig z0Y^U!)|S1UP(RZ^ct33hQhgyW>u=hZn{~KJf)`}!I+6A&!hmcQ@k>IZyaH*0w2gyl z7w*3vIlKBon_=2FDpB9sP1`Fl>lHh&-6c*76yBRl;G12?O@uV{_dR(jJ@>Htd2dGc zs!?h*hC-T35|9dM3?4@<)Fmq@B(J{uaqEX`72=(pQr2TnU%Mo4GGjGu${t8KWleuGs;9J!J(>7b)TX`l3x)@It!+GjxRMHee82n zpW~)@ob)XBHpgdWxrwfeF#~ZDgszxAyDu+L_MVE0jW*zCdMaGV`ea1G>5r}?Uio7J zt{ZBpw}x(&X<$vmG^Ck2%9JW1MBIK(7{Cj89*k+^y+;bF+^I_1k1C7bqXMD}fHpyTydM4s9T(jG)JoxL=H0hO?0YgJL01%n>Ws>iXb*%)M`^rp2!Kl)hcKh6uWJ^okJkKsrV|l5JlU+wg(<&sO z&NfLRBN;z=urW7k7ILbFgV{wC#MLdDEzm0upX@uNtJore^be(td%i%WrxW~sEjW6s zeMwh#=@O>}mWMbb+{DiruMtvOOcI)Lf6ct{6VHkW2y4KK#MCDwqI|*Ib3k=r{nssiHE-|`{XomxM~mgb<~GwM zPP>3&z8aZQx)^@EXUO%1sguDbsN`5u!hrbGl<-`I1^ea{D`_f9es!l4)-_E%i@J4B;_H+g)7;bOfF0rWI1Kv3hVVWE$sDJ zb{B+!x?a;e6-?Q{4$&Y3G8{QJD6cvZACse=wfDfqzDyG*M8>7=(N*_!r?|c(!wf|! z=G^j``gXWN3KU5ybv13Rh#bx?<~wL#GR_9e8%#q6&!nb3wg~xz^X4CX3WuZp5A?FZ z18DGxL;A8!6hk4YdreLb30)pj9qMP8SiUI3>*+Z}Qg9YRffz>;RzZa{(-)81SLFsf zN)K?upAL$zke!P9oOB;V!SdXo&0Q{40^th0r`wfz>Wbw&2BO$bxyFopbI&V`=WYfN z>g}`gx6eb$m4R=eM=KxR`e4YjwroFY;jCRH%;h-P-#l>9-k7i2xzE=TgvJHotu$h} zx)oX@5TMJ6lM3)wmt>$LsVtne2R^z;>mie<({@>TTy=cYzt0J=OI6cg3t{Zj^b;%_ zG>7evDVaR{E2RF-Dy`dMmC|*tDVw(2oqXcIIvYw7x>ga4l4l%xr>AHU2{=B!TsWT(*4vq7sqZO<0J@FN8hZo zvVBKp=eX)uX1P;qM|_+w`+5>&@fjhDSU3kU)KfHBN$5AgDb6?lD%d}yuFnRf6Q>V6tKTbo2IK^ ztxQWzGM7EgZH6t*01oXhWU3Z(gm;hCQI^-pSm67v!Hj83Yu69vTc8B)TFO{_l*d?* zO+*C#VKf)lW#iMQ7Yi=D7^L< z1BVbgy8y`7wyz+L4;Op1efP#Rx3atJw@z=L&$g&EtMuExwol>ycdma1fyid5zjbFO zl9{Pv&!adYx~!VsQd8rUV7WIrFJAHZf>IANa(Ia{HmM2AIx3LT>hSu~ky-@(}1 zl!)3{`FaUaqI22>6;t9$Ekm-+G_v3b1(pY|_nvw2E);&Zg2hkY?`)#HR)-6Qo_7PC zg->@TqtqQooerz#6%{&x=00w=U9-$b#JS_~q36mA7Vm|SBIyND`3;vCKFYEKTx|{$ z(%>Jrd9C4RjQn*P*N`&ts|vy^t8Q^FBD&zw`Nt^pz>?aq{JQfF2OLm3Bd*qPc zoy*P^s+U<#I>VWXbuTzbHn~(jpRtjxn`fyp12(wl7AHAFEHnPn?_@XStF8PlqFY_l zy(sNn0jFUjCjaqy^)WEm^($k;sAQq+LRleG0RXU9+#Lx~-!;L?r`#ebD4Qbk+$W(8 z6PD)C1-Qky2=U*Az)Q;E(jE27Xim(e0)pX0(ezELSGa#^O{Wm5zlfrr7EJP^jLx1? zR9*v{#)p(hHswXSjrZA-t*w=LmKqL37F>>BQ{}!qv-PNc4e^Ij@4a|g~p zv$+Jd;tbH%cd#z#*S%MR7I~Qul~Z-)%Fe)Do|$xw3E4XKuIrA^NY;C6Mr~;%0SkPo41G7Z9Im2ETTCKw=542l6Sw5KD5dKa zahuVB?}CbBH^%&~HfQC2Y9|kGDFOD2-ur_HCb9Iulr7sWuF%h%_Cn=*B7!@J8M%O? z0nfT~%(Kla0$u{*-~3VJuOD|k2Kq&bw9V*~uCLqQ_e^JEi=i~}EqBl*w^{D^FSoBN)zR>*jk?z}z&vE#w2vsHeylxfiphV&0 zEVHYsh{yemW9smLceLyGUY4|1IaBGKbUhg8Ec54Ez5L*CIfSRrAhNTcKX%gNhqy{O7>m)>*cC~{V37kq+C&F zh-gZ2a`J*VspRf*I)t%y?dr}Vv*7gGTYtZ|l_qm${3o|>&Q2WPn6y~r44k>LLfn0Iev3%+!Yx_H)o-uz2=>_DMd?nlmT1MO#BDqLJT*enCJT;)#@YIQvJXz$`rzCE>6 z1#*1IyzH>Bcw&3R6kUur%ZS}rf)vzgdOAl@;T#DQEh(gsH4z_Q2i!!il3euuNja$( z{yw8iuOHu_g&Jm^5nQF@7tETwbxaI6!EO0-MgPLmu7^XF&7U#0SzHCs1bnbvI$xL4XODpWWFJJIPF}Xxk$|Cu}_Fv2)mwaA5@5>Pv z8Z~t{8k~euj?2n^E-@mB3aMH-tJN;K#*g>19GCyKbyE0cWW>Yzgmt%C9jH#WZ4XNR@XGH>9=>9wYVoV#TU32%GU83Usk-TYq$$2xEttY zyLk3HC{{*jE9ASFI|XkTIt-bfJ-ga+@)Pq8|97a-e$#pM@Qo~;&wo(`pT2E>7^fne zi|2#(4WGL0yqlX}tf`MSO(W*PKf*q(lPFfE>YYmFLSTPyFWyx@zcQ(4^+ zK)#GhR0hV5BxGB0RtTSgwc*Z6*a=%q`izo#bLTZ)<>@&4K%6ecxgCPgg?u=;RBdV%%YK?4lT_e{J(1J{BzDH+Fr7zz7 zd%56**Er0+kVNI_P($rEL@eM=s_ky&LYoei>|3QC{XI7KS)LXie%IZ|q?>GVqdqh7 zZG^g5Kv<}4u|UDxr0_|Qj^IQkYCA0`IwJZZUQv;oyXc?Q0PABp;O%q@5z|SelEX^zeT#65^)ydkcQoK ztaF+hq?nm?UB&a*wAd2~iGv#XL#V!>Ivyt%NZA*G2+>0SD0oA~Y;VbY-+{FY4WBp& zGb&=ymh4fld#6OK?8THOA}WGxnmSV}U-ZONu=UldF2cg1Sz8i47ZU_JGj9xviAM`$ zX#O4o2WdAVx?x)5D481Vt+D%fGmfqG+PU97AAn@yg6?KAQ#;mkJp$M%tLGz>cK3#FZmXZn| zoSw6Gd%E$-{_V>*IZuq73TC>Z3z7xg$V!%Qd%I)EkoNgX)~KoS;E=wtUJ0b>BSW%K zk&(F8OCpivV3Pe1kv z1eZySdNj0XsJG`DP0g|6H9<`9bEzRf+fxgqka_cRU!BEIk9e9}*8%%J|9d66_{_qi z=aMfDma8qO+8QA$@+$CXO?zz?tXFQ>eZ+JPep3z*YVcdp4R1)Fo&JfOWyyDvr^Evx zH{WGxY{)_!stPtm3A+Gq8_b25AgIUuA$y1OkWUiJg*}lJF&$e(5*EeQ+9*c?d&>37`o;_bO?xme_zPv-P6G4C5 z0js*TrouTk0yD^I1-s(oT;O2%e6P}pC z$v6@EVsy0^+b7K9dHHR4jt2_Yi&5YOai+PVwy=ST@G`h)1~)$r2@Qj;Nv-OGTpg6jwO(8qKXzyeT_soi|hl->Yn$NK$#|bIe+` zJmM`sT>ox*G^D=E)vPOl?Tk<(1?>etk!a~rVV+B-#|%n0fnSVQohFg3XsqhuQ7!`E zbpkHnq0?3-m*y~G2nBecG*`Sa+as;l@$mTo1shGDG(EafGG29B;Df8Oq_E^X*tfuG zA~|a+*jln@{vd4$K0mQ`)$DmyCtBjjD@|F~b!j3+NWqKp$hN91{IA-l(e|%T( z)g9hv|6ZyY7Ve=(%=x#6a=H7Kqof+lb!O^?)hbR;y}E_RIu2s!geg+lPHWW_K*(s1 z9NR9y&Tk=U#y>JS^iXvgHVIPouCCW)y>8`tVX5jh-j zV8~saCgErbaOWFiRxOG}6knV*A+mZNj-=E>Zu-*S!a zIEYI|=!mQ(8VQ8YtP4b_%li&Z7Pq>_lNcdg!hqX`n1S&cnc|E&n`VoX1v_Z#9tH93 z0vxB`4Ykd@O1MH(1=U8WW#`D~9@d;PzPhS?b~7k&-?Bu~rcl^+)zt@shpq}!=jwh} zc8^+$`FReehIwD3eUUIu3=&!Xxe$FZB|4jOQF}*w-<}QY*{yN9m*rY~-7XIZW^L1WMppIR}+Qv8)*E zdGwDKP$h74^YDI0*t&l~gG6Ju*#@EoVjVHmV3aFn@_ea5;Hh>@1ewMYry!>a1~q>% zClFc|c|w25DX6i{zwSx!bE#}48FSMir5^lO2ImdKEnQ8<(cwJh@q)*=J2P*dG-TzX zdOs4`utuMe#X-d5uV^d?ix&GI==WdMUhSD1UOc9AUDy0{v!P&dryM5Bt3X|VFf!Qg zSRPEw(lOZ;JTa+FRM$_g;hKlED zOsYW0$m+pHavoIa*WQ!kPp!1x%VoPW2H#T`(+YX9LWn|zl zTQL5npn*S}f)b{}y@7v{_xCFH?i;KB9|2UTA1sPur9$Pk zcLAt0{G(U8~v0OiG1w*!=&`$0XVP$+PZ3nNu1eDIu7N9G*3PsL3QhGA^5HLJUr%!T#v>zcUW_ z;d1T|>&}1A!h^nYL{TrZeYw@5K73L56qSv|w9v7iB(w|g`5WtsJ{X@8FVeIy?yiuf z74Fsm&a#Jbm7m0LPdVIR3XGbVu$^xjVs+M2>~mA%>uL2k7kLNT-#hRR-Y$PgJo+L6 zWtS2Sf`ff|a43>wQ;SNC>a}mh{|Ni)m_NfnZGQ@ryciD-%y{Fqn3fZX#EiK=TfrH9 zc=RY8e|ZCvYCq~C%o>x!@KUmS{vj&+hKW0o?BK{hA?D>rQ2_k?ahT61l<;?uswzh^z?y^yIjD%l)8J zQ`XCN0pzCWx|a)V%N``I(5QDFRoa@|Y0(f55aVzvKJnSG^s$}enx+qtGxKySVusbP z@N2K@anp&}o=j0D!IR|pxVcg(i+w@gc?|zfvY_m~OWzR@-Weq!8M%{+5P`lU&-7Jz zDl$G-&kkl7qzzv)#pfg!yn>Rju1Tc@+9|MMca&7>ku1VQEc5iMY?e9n^5RYFg1#$c2ZR*0u(CNt{@*W5LdE^czsf7$}t(`pd#jLE%(rhjpAYb zT)E@Y8VV)7P(~xC^sfBEFcu9N0&83%N@%>j@qH*3?AWdKBkG>@W_hI%s@z@=o@H}m z4^8Sgt*5D^_sXn+&Iz}IM;WMP-lh0t%L7xQA0BA>P8h@pNgiwySe%74KYxEXZY2x~ zk_#m6IKPZNE)0n^Hft3d%ovpEOzo5XNHmQKp!F)a>g|ygVYJZ-uqvJ1*u8f8&W2+y z8mn~oZg_pSoN745=xY?mV}8h|ieVRz=j=*YY(T#=@B*t&E)`Lls6I*$i{?v^%akeZRjdRBAzl;LnYP+J?d1PT=gIpF z_*T|7$4a2cwEbY$vXLTPyp8=e)Ht*Fkce}GAc>q_eEs^34X>fP_AXT@&&*6na@c$P z<#_BULIKJ`@swrC{<-8R3*JPF+#y@J)b@_r2lpCg`a<>n<7pGL$rcVg&l|0h@1pR1 zDrnHY%9Eu=%3;ie0`Ok8z`K0+80%d6mNW-#yu^We+h`hIPs&I zz~mHZd#my6cY%mEK25Iu@o5MB-Gv*(c9V?AGb34nl zVhn!4|GPwZfC?1@&V)gssu*LZ4l6dtLP6!e5BYMdIp-sc*u6W>L=iJXT2O9|BR*8} zJ4}{#;ji^6O*x@9+H9x09E$ZXy*d}SG&-W=U|z`ZT@OY5ym#;ZmBRja2;t=xbs9vO z;u)Ex)&&P6Bv#*-3imTsj-S6i(Bduzhr(GKI{9I`PMrm~z@3Km??n7KW&KlcZIs{W zs`=v*^8>3Rw+Aj&$fj+eXtfg(?!e4=GiQdu4|J&5iE!z6*`tfVJ*RDs#C#t{+;_ba zdAS!6IV^0dL-Y1aa;rt$_0aT2d@MjnG&mKs%);*`Z7^_?UG1w_O{S z@@RJH)b}leEuVIKIvTYlI^Lhd!WGQ0xQX9x7?6Nm3tP>Sc*!5)GG2)73@2 zB86B)KBr1{)v?rH1w7uZmqwjw`5yYw`qtGi&`-lM#tyr{q!_M2gk$tIR z1XRUv^%#u!QHM9KL^L^@%b}vFF!e}*Y3vv$-T#hzldgka4_PeMDy@t%XfV#Rq7)dH za*K_8G}C_6Q>Pm!A8-&na6;vK&-^6?dl5R=g{;Y&c4TrMvfm{OBdnMhPCNb}Pkj!Z z3WHfV_07jv4M(i*n;hKNrL9fqAe+dR9C_AV9fc57@AajEc*v%TB>RouJq6)9ZMKre zr}wmf$>)0Xwp|_RV+>D$k!a@1(tEgGA9-uz2?64)@LneeoC|_ClE~Z~q5kiO?(dnD z{`sY!juIj?#oO^j-W9s8_0^Rty^1y4BMlj|ZC*;XRCTzK0_U2%>S-URmQgX&h1{#{ z8#x&-b`HDLT$mNVsx_D;kMX)Yf(|F&=uMhvBO^qmj)Fwl;)_dD4G8t547LACZv>WZ zQd#xw7JX+$@>$PO(0Sqs3%*hwgcQEn8od(bgxjH|Y;a6Q1H6>6S)R5gT+unoIo`=n zvgMIuSZ6~+l6(SK%zWXhQ$aso=>80F#y}VzU`;+*_->=FvEI39D@JXxY2Aodu_7WV zIo51V3?IAq-!35z1Wg3BUtEcy-LsO?l=E}bJ_}frB|82Fj(5h zo0pB`Y2w4D^UTEMjh9}fA!V&Urv-G8Sa`QY3@AGrrS?lsvE2fdnV_nQsS{LR5p)6D7mnw z{JwXmCWux4PU8yvGh>Kh(|JNFhW!lbvP)W)$Wa6#U_jA1Y{2}WoR83Ea`IkFVaF{` zvQ5g!QQxw0xu5;DAk#;DRz*#OwyU+aC4t7J2Qz9ll+pNg0Ir8{+~*&G^(j<3!`Wq=~FQZ2(>ap7>Y88JkT;L23{b841p?v zk{}>cl)2hU1ql=|0g{3e88SeS0D&+n3dlSq5yFfhgi&Sz#dqnC3Vr3R_s*}o)?R0y zeebzzpKtH8za4jYwph*V3n$j??K-qYb!%+K$_{ zv*2CXiFB;vCUc+dA@gbJEWq6NvsIYj#zo+T3~$?M)A4UyD?So|zfKd@?JoQWD=UQ?;kaB5U!{Kkr&wSCQ3k(GauhG!vlvK!!?9$4e^`by=$bE8cent z8Oqcy3_kRm6K1Gd4O(L_Gr_Or<}05uZ@`Bc8y>AMVEf4>hI>TYZV8&2JT{=034;MT z+6XDIHg2rZ!vP#-3u`x?K<20lF!3?M9~KSw-O_@WdGnd$Wa?H#y!9Bm^o>sg-~wEj z=fz9_EEVlB#SwMQbnK&{&VqA4TAN*oJwDW}*Y}^1osz2_m+|#EnuNO|`yUy3CmU!U z2{fkpCrQ!a(C8Ia3Vkm3g3@lUs;?(1<1Q%gxcpXu5=j(5>X1y_YfOOnx6CN81~!oe zgf04r%5=DHn6W_uy||#ekyumquLUVDqZfIc3a7&)u)-doKg&V@B=Iht$_sB9GD9VX zCHdrs96k}{eu(_T`+nQLsJ2(a49mgVJU^6*W9gj6d?hgjIx(iosW^>Y2JTOT{~q^> zYz4$^fl78osFbuvMcU^SC>EnU^=rr0JvW>lU+POrca}=!cy+9W=*?f`51B36Yqu;k z*~S^x`3k0tr$adc)fE58thnY6>VB<<7jxp96WlL@Q;+k+2Ja_uq(Y3Y%vO=CUUf+F;_J;6<9EzpHQ8fkBn zdv(cAg~Mre;lweZ(0zJ@7OeItfQe;W(Dm=2UTqkKCIwq=-OIoHV|<7yx4Zk7)!KV# z?XYj$JVVas;j#l-EiQU=MyBK7>qzuEEd5K^RL|u@kZbsm0tcgvcIWQuVxWy;iMnd_ z>k-$Z7{|8yF_1D#HUpcVeNg|-r-$%JSenF`rxQ1xI%1*NK+gL3ob*N4c2Kh;+WB7u z_5G}|QoL_zM_Zq^#yTd0WQr~-a8^%Xef3$y9_S{~>KE2*W*6~C0%se~td(O`SR;;3^q)D>zjrn!Rv#<>jgcj-R3}-o=iB*S8TzD#QXR1DMZV^uQm<_+3Qypt<|_8MgMOqC}sYswiv4;cIQ z85%BW?HF2!^KNl2X%QD3Y)t5(Ez4nf1I9&cP!PruQ!m`EkIn72sNs+iy6i_`LTuS4U{)N z*-wcqmsV=1ZxKVTaz)i=qw_mJtJJ$QQB{&@EA~)l0^ua%5n(p*=^z65uCLdT;m0Ax zpG5|{o^SS+V9x>|< z5qtPmZPv>*75GhIm^z>&xqS7qxez$rc?%jy=|-P=mUF!U~H?H0MNWS%?2ue;GA4UzEcfs z*eBl(pnoQ0V+KS#)*Q1}4xdO6D)hhgqB6@7>gYKKD$2~{;QObz$bCj;?(5z_b5{ld z)(;r5+lroMgR8h)Wrv<~TNO(i0=cn*$PgDM#^Sq$xxg^Hk;%{kW`Pwh0?pK>bWwkPkX zcvJ*tQyRi)?MIYz)CeWj!bt$VAfZ(YEEKc&ttiu+MLGNx9svTZ;;M_ zdHc)DV{naOQaJuWzg}KZBYUC>oANE7@z1d>cfGx48fb|9F>*jh@WQ{SQy))c#bWR9 zCa7Hhu3X6S01=?DH0mG>qwJ^Ptx-!S)|4@s0axfX{y^j%O?_CbnSXdQr+!tP6h!5& z6}Y7K&G&kbVp1k$#N^q*zvL8m+@b_%LB_~EUdX;}bdxCW4{!4Gepvl3uZ!yTT*{mHgPm~3(2&WhOrT`3*bc&! z@2?aV!e+wj+wCqfBg~G;*}2bY>c9t5IDjd8lD?Y{Wuw>duH4|ORcDHMJ(@@Qurx^* z*-qHvt;^!qx>n2!7FP2NJEL^RI1a#!!|o7IMtPT~R{%(xyQFgzd?O)?P^6{PN2?R( z7?yLggpK*opky)qYK;<#vqp*nKXNFzikFEBV6W-fc2J5Q)MoeszOL^vs)MO{BS~LNlE-kZQnJ5Uq^nUj?KQ^ zt>E98q0s>JW%}h|$-v4YR|0)3G#!2o$|~)icMRJdM5Zdag>iVEqM-4Ow0K)Y0O$aV zVo9B`>Vhc?KXxP>bSBI%YO#&MdT@Vv O`JK)FL$dF4_rC$t<-ZgF literal 0 HcmV?d00001 diff --git a/leetcode/3001-3100/3025.Find-the-Number-of-Ways-to-Place-People-I/README.md b/leetcode/3001-3100/3025.Find-the-Number-of-Ways-to-Place-People-I/README.md index 3d5a5f8d1..d1c874d66 100755 --- a/leetcode/3001-3100/3025.Find-the-Number-of-Ways-to-Place-People-I/README.md +++ b/leetcode/3001-3100/3025.Find-the-Number-of-Ways-to-Place-People-I/README.md @@ -1,28 +1,60 @@ # [3025.Find the Number of Ways to Place People I][title] -> [!WARNING|style:flat] -> This question is temporarily unanswered if you have good ideas. Welcome to [Create Pull Request PR](https://github.com/kylesliu/awesome-golang-algorithm) - ## Description +You are given a 2D array `points` of size `n x 2` representing integer coordinates of some points on a 2D plane, where `points[i] = [xi, yi]`. + +Count the number of pairs of points `(A, B)`, where + +- `A` is on the **upper left** side of `B`, and +- there are no other points in the rectangle (or line) they make (**including the border**). + +Return the count. + +**Example 1:** -**Example 1:** +![1](./1.png) ``` -Input: a = "11", b = "1" -Output: "100" +Input: points = [[1,1],[2,2],[3,3]] + +Output: 0 + +Explanation: + +There is no way to choose A and B so A is on the upper left side of B. ``` -## 题意 -> ... +**Example 2:** -## 题解 +![2](./2.jpg) -### 思路1 -> ... -Find the Number of Ways to Place People I -```go ``` +Input: points = [[6,2],[4,4],[2,6]] + +Output: 2 + +Explanation: +The left one is the pair (points[1], points[0]), where points[1] is on the upper left side of points[0] and the rectangle is empty. +The middle one is the pair (points[2], points[1]), same as the left one it is a valid pair. +The right one is the pair (points[2], points[0]), where points[2] is on the upper left side of points[0], but points[1] is inside the rectangle so it's not a valid pair. +``` + +**Example 3:** + +![3](./3.jpg) + +``` +Input: points = [[3,1],[1,3],[1,1]] + +Output: 2 + +Explanation: + +The left one is the pair (points[2], points[0]), where points[2] is on the upper left side of points[0] and there are no other points on the line they form. Note that it is a valid state when the two points form a line. +The middle one is the pair (points[1], points[2]), it is a valid pair same as the left one. +The right one is the pair (points[1], points[0]), it is not a valid pair as points[2] is on the border of the rectangle. +``` ## 结语 diff --git a/leetcode/3001-3100/3025.Find-the-Number-of-Ways-to-Place-People-I/Solution.go b/leetcode/3001-3100/3025.Find-the-Number-of-Ways-to-Place-People-I/Solution.go index d115ccf5e..de6caffe5 100644 --- a/leetcode/3001-3100/3025.Find-the-Number-of-Ways-to-Place-People-I/Solution.go +++ b/leetcode/3001-3100/3025.Find-the-Number-of-Ways-to-Place-People-I/Solution.go @@ -1,5 +1,31 @@ package Solution -func Solution(x bool) bool { - return x +func Solution(points [][]int) int { + ans := 0 + l := len(points) + for i := 0; i < l; i++ { + for j := 0; j < l; j++ { + // 检查他俩是否ok + if i == j || !(points[i][0] <= points[j][0] && points[i][1] >= points[j][1]) { + // 不在左上角 + continue + } + k := 0 + for ; k < l; k++ { + if k == i || k == j { + continue + } + x := points[k][0] <= points[j][0] && points[k][0] >= points[i][0] + y := points[k][1] >= points[j][1] && points[k][1] <= points[i][1] + if x && y { + break + } + } + if k == l { + ans++ + } + + } + } + return ans } diff --git a/leetcode/3001-3100/3025.Find-the-Number-of-Ways-to-Place-People-I/Solution_test.go b/leetcode/3001-3100/3025.Find-the-Number-of-Ways-to-Place-People-I/Solution_test.go index 14ff50eb4..22b2f7883 100644 --- a/leetcode/3001-3100/3025.Find-the-Number-of-Ways-to-Place-People-I/Solution_test.go +++ b/leetcode/3001-3100/3025.Find-the-Number-of-Ways-to-Place-People-I/Solution_test.go @@ -10,12 +10,12 @@ func TestSolution(t *testing.T) { // 测试用例 cases := []struct { name string - inputs bool - expect bool + inputs [][]int + expect int }{ - {"TestCase", true, true}, - {"TestCase", true, true}, - {"TestCase", false, false}, + {"TestCase1", [][]int{{1, 1}, {2, 2}, {3, 3}}, 0}, + {"TestCase2", [][]int{{6, 2}, {4, 4}, {2, 6}}, 2}, + {"TestCase3", [][]int{{3, 1}, {1, 3}, {1, 1}}, 2}, } // 开始测试 @@ -30,10 +30,10 @@ func TestSolution(t *testing.T) { } } -// 压力测试 +// 压力测试 func BenchmarkSolution(b *testing.B) { } -// 使用案列 +// 使用案列 func ExampleSolution() { }