}y5hrY#wriw28wqUOIpZ=yG9sV{%>B3pHx>6O$w!k@Kp$yFuvrKrMFr;rH
zpR31__OAE!%|I@7-0Fm$+4Fmb{v2AeH)09Ai2njOtau4yf~d?a%(2y1Bwu>ZDMtGY
zE(|k{^aq&JM1oO_G1}#OC{h7=x8iQ7C*+D*RhoZ5y0~!XiUo&vO0ufhef<7dc;=)F
z%RWbbO43RkNit;^ZEu+hR&l-0I#47(C&qg&@|eIR_Z-env2r=Nh%76GX>Ja|{X|k^
L++I1uhJ)M>GUi@O
literal 0
HcmV?d00001
diff --git a/bin/linearlist/RotateImage.class b/bin/linearlist/RotateImage.class
new file mode 100644
index 0000000000000000000000000000000000000000..d1851e5673fb68dff5fab4ded9acba8e387bc955
GIT binary patch
literal 1422
zcmZuvU2hvj6g}ge_1N1@<0N%jsND}rgPo-|xR3&F475-bVOWHbC6lL3yd)deA9B_u
zMdB^LfJfc}4-tBgqIE%?NuHZR^tH&g0JlJFl8`tnWIrN59BYRjg=#@WW!H8vjuTxc+
z6FC3>Zg+-3*!Bk&3Yb?Y9xom9vEkrF0d?OChrat6%NLf4Cs|v#j*^zUtTRsH#bydG
zQwK
zS9yH~Up8pj2uWJSU74%kYR>N=^#h#*ELsgSh%>bI*tapkozPE!mWM?)E(Cn(>@OO%
zU3Bsbau=UE`ASxn7R-2ca#`7y?MlAn{^vS5+0M5sw8V7$sjZWh8p!MT6E|zR+frm@
z9N#(kcH0p7oEh#Me61N9G2>FqRdJW%mnKUKvy9D=e~rwWjI1!;Bl-YSadwS!l07r@
zWZKIR(L#NJY0OXy6A{kQGnn5-mY!tQI{z7B=Xqud@^7Ss_zR}^6V1mgmc|7r7|5hGVrk@zMrPBMi1PWICAeH;N>@
z@S+cpsNn9y^yU#in+ZrjdN
z*EfBuRd+qgRnIf`btnSq9rKM@YMahhskXUeHGKi?mhISnSwPMg)&!KhZp%tQMmz--
zn!rGn(;x43HZAX&x!JY^hN^DUY_FM~9r(SV;&0nsf%)oxky#;bH>64nDgt6v
zKw77v`KGsJk(;2ScInZUEvLm)$8NO(5`A^wY`%VE?*75=n6@J@oL{e=?^yRe+u2$v
zti>^o2_4xB7pU)deXEngB&Imt-6Mz*HQR3K2|IoETV`h^0fBfRW>V5t+{qO5#AH
z)ajL|1+}_xir5Dl5)za_8Z1asrlJDsK6)ZphLX)9y@9JyRPQ(DW)5nfIh%7)rr
zR*QzZn0*V)P>+ifi-GqZv)Mo&Ad_Y29a4rGH5F)Vl#h@L^M^s+P*|Vr#p6*SM<4z=
zkdBEchb$jrh;}^W93$5xIcCUmoE#^~GLJNFVi31kcZZpK7{&vP;5jbi1xB%fF}z||
zo7KUliLCuE2tvGx)z88LPmv=n}I&dut7NLS+6yeSgoO^wOT_<(~Bv!Mp{#A)sGna4AD5nbWuJ*?gX>v
juhUO_Uqwh3LfG#P0s$k?6#
zz&|i`(3{w5zINnkrU
zXvh{|AT22N*#E_JJaEEYHSiq4N-r2HZ%>78>?c7zI&>$3dhb8wJmk%jxm+5X``vE+
zjX<^qsr@b^kqSo+)d?MALXWoQ_%>5x*S2FBOZ`X#XmM7eNw39Icp7)VBJ*XQ&Jp7@gUAyLiCw@FJ;5~;i6qM-woEg2rga)u
zy4}`i7*{R*!0_5e!!nwca~S$%quPv}PqGxAAYc0uG#7k@rzmlU8O7QKV(ME)np@X1nq4rSskj!>oe4N7lQ{1%q+
z7$rPq_7yq1u<#nI7~v*7tRcWUrsSXE_Iv@I#gOb0FM#8cUz#uF3@hxB;&aMAW$MU~
iY0=X84se5LurpX^{z6{lCrVN?i>p5v7v2|tkF~!aP>JmT
literal 0
HcmV?d00001
diff --git a/bin/linearlist/SetMatrixZeroes.class b/bin/linearlist/SetMatrixZeroes.class
new file mode 100644
index 0000000000000000000000000000000000000000..c6529cddf532a0464a66242856ee65effe9678df
GIT binary patch
literal 788
zcmZ`%O>YuW6g`*ucod4XrGr8Nqj7WW*Dq7cGo{)
zcU^Vu%ETCcfLr4qF#ZZ-#4`ikn3&Amcka3G+;{Gq`TFPc1VA0v6=H&X-yJ%(-*-nr
zZO;jI?Z9{69yq?|j1+XiQqO*4*ZTJGRjt|SIo&{DK6Zz0uqDvSxAz756YqtSfQE%d
z7%&Ct23tNG4?2$DvO9f8u+s3lc7NaY-7ue%dhpsE2?~w>J9s2m7&*br4i7H3+dJWr
z<{+|32P7DM?^qy2X4mVF2Sb6H0rroz59pCQh{fgG6QuS6yL-56A4OIamKCys#GW_y
zyUw;7T3-Fi7{f9sNHQ+YHgHWb6I?->
zkzzUKjySoK%4D;mtxvX!U-XB1fx*x=%nMYs4RwJ+#WL3|RXsyGr&~&I*~cDTRCLXGn&M`UfOuJ+$Vf>c^$(TWDHCX!=mB?UzpJ!+2W(_xyBU0Gm|2yNFxHaeUbbS}eDGN$L6xM{H
az=t2|2zYtG`D6K+B4@GKXDE$S(9EoKB
literal 0
HcmV?d00001
diff --git a/bin/linearlist/ThreeSum.class b/bin/linearlist/ThreeSum.class
new file mode 100644
index 0000000000000000000000000000000000000000..1f9bdc97525b731a4c17cf59fa4feadf3030a0cf
GIT binary patch
literal 1790
zcma)7O>Y}j6g|(L@z}1@q)x{9C@v{&f>Rs2rI11#0ws_VaOwzGL1`qEi9L0v_#>K(
ziy|ShiP#||B(@QSqOd_~yGToevSU-0m5^Y=f)(N)0K%L%V<(N31-9nR`?&YqbI-lc
ze)R9dT>$4XufZqKTd``UVOOj*Cv)YxZJLEfRf8hXbHli4WGY6joXM};FpG{rVA85t
z&Xj;ZF}5I}OxH_h7=DBzP!SO5&JpW!qq<_+SB#a4DG<%oi$-O^ur0Z6Z7R-nYfV7U
z9TGY#5Oi8J1o{$7vtv1zNW-xznH*WtB2=)-HN$DxjF3IVWU|AhwRUrvtvP1dw6jzE
zYUrf^`|uZS+gO(|!iXXiMhpWQ`rA^t3|y172nI1k0oLj^Wl<%Cg)pAN2@P?9WBbar
zqDAmDh6S{nMx|lquL;Bw?Ys_93~<-itZ35F{R;^
zcG=tjh4nSZtVZxEUZYO+2DQ;WEUTWGCy+xp)2L=;JHH;mG~SSnSoea+Mr^gAhvtP2
zV+L<&xYX{UgHRF7;%zp^szmQ7+8%f2X4qw3hTcO`V}T5TaG~C?i{^|a?^9R%il$|M
z;3Tv5^D=`YLm|LX<0`|q;9EU&AHlnv_z>nOkAWbLaEy2ce0OohhC?^4dN}vtm;~`<
zpwJfha|hAI`{Q?@xCFV4zGOU|jJqD84ZqkzRc_FHSr2?gTe)?0f9rP3
z{Zfn6gf^(js1I=bdz|#)Juc%1R)pF+Obu$D6=BIDt}C~i?{BC=SChN9nyJ(srmMJ8
z*}To*Oo}BXic+9{N))F=BV0|O5A)Db;E%)t24L|Qp@JdQ>Gu(>KE?@r##{e6hVcdK
zw8@+O9Zq2fr}2mgk1>j$@hpBpFMcEbA4s}odDoM?RThd*n*_@f#P1lx85XA>KhZYD
zipTLIp5sg*uV0boOeOL|RzJm3Zz7Ac^w4mQnZ)SnVLZ>7cXpm7+
z)W}r!Mw5}Xy)D5HaC{&d{TtJNL2VMH!vP_T;{sh}2YyOcvNO;11bzrF`hEFDRmm>~
z)cm5xd9df7d~OGVZS_)e8!yk@LpHUIi`#fpcB|hlL6i_+T0=}|l>b*}Nmh35um_BH
fkmG8Ig3P%Rjq=o!NG2@%+uM-|3tZ-&5BdK9i)4PR
literal 0
HcmV?d00001
diff --git a/bin/linearlist/ThreeSumClosest.class b/bin/linearlist/ThreeSumClosest.class
new file mode 100644
index 0000000000000000000000000000000000000000..a10e488f318488fdc5c477b998edd58cd6296ef6
GIT binary patch
literal 1186
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
literal 0
HcmV?d00001
diff --git a/bin/linkedlist/CopyListwithRandomPointer.class b/bin/linkedlist/CopyListwithRandomPointer.class
new file mode 100644
index 0000000000000000000000000000000000000000..88a2bd778a6f8f83af5b97ce8571ece8b68f6d76
GIT binary patch
literal 322
zcma)%!AiqG5QhIrlg7qsiw__OQd$q@;8F2X=qaeE^u9@!cItLl(yiiSc`EeK2k@c9
z+2U33^8fSCFvB-r-`gF4EA&%Dgmc68Mc0N`J|DZ+k3x!f_VY(&YqxxGY`tz$#DxAr
zy{X(NJIn9Og|0lIeZ!XhEul3WO$qVX)jC59oh}lz3B7`?zFRL#-8`$(Xu?V1DrKgs
z;gEluv7hsbFev`Ra!tsd+`6gsgu}(tKdCPRFwP)&@-W0HV2P%Z@_h!9iwzDwr4b<$
V4P(f{p=ftsC*ntv2*;ukdOu3#O?UtR
literal 0
HcmV?d00001
diff --git a/bin/linkedlist/ListNode.class b/bin/linkedlist/ListNode.class
new file mode 100644
index 0000000000000000000000000000000000000000..7ceea83231d48d6764f7e244564d28f6ffc3ea9b
GIT binary patch
literal 367
zcmZutyH3ME5S+7(jg3PfAv{Dym!yabN)QbaQY0%WK<>}Z2`(JA|)!vV2UY`CJu^
zfV+}LK#T>vQmsk!(tp%f0{*owb#ueI{&Yudv%#KZFq6S2YJD=7zEVh0|PA473yccAo$%<+#5y{#z?
N$oMoBIN54XzX21KKve($
literal 0
HcmV?d00001
diff --git a/bin/linkedlist/PartitionList.class b/bin/linkedlist/PartitionList.class
new file mode 100644
index 0000000000000000000000000000000000000000..c3c1341301e64612eb856352f43411979b6df499
GIT binary patch
literal 863
zcmZ`$+iDY06kVs8nUloC=2|l`-s&w;VniQ=RD@C}4aBsV67WTwBtv`J>7-01rQhRA
zUll3^1z!bU{3Gi+lLR7EnAw-LFK6w&fBpIP1Hel>mRJ%fdCEU@hn^aTjU6WlRj5XO
zo1TOrkU4NpoQCK4dyVb>fjbBVtk=p{;TwTiwbm0bHbz4?i5L^gnV709(m1IOz*fztjAG{Su~7AUv>_x_qd;&@I-pk7_f)C4#?#aFSAo!Gdd)sc8arnx4RQEK{;rtTQ7{Onpb@ee43c
z&fI7k^`>bXP3vh>p5cWp&rz&=Lcum|`4zTpp2KdMXUN*t6tFZvTPtbHpO?RxYS7c!
zmY}TD`5ckb1UHeTG?5_HJjtw(NSWR(BypFtYoz;}gkOkmImRB^p}cHcH%B0v~aQSd4G=*uMgUwOwwtLJnniU8QBQu8sS&Bp$Hu
aDvV1e$0dYBM*oW+V5jw(A2M?ZkNyIq1EJgi
literal 0
HcmV?d00001
diff --git a/bin/linkedlist/RandomListNode.class b/bin/linkedlist/RandomListNode.class
new file mode 100644
index 0000000000000000000000000000000000000000..035d3087109c152ae2988727a254b8c8749250cf
GIT binary patch
literal 385
zcmZ`#%TB^T6g{^TkXix3XIQxd7P4@uabrS4(qN*d`)NDT!J$n`G5nSbW8%UO@S}{U
zm5mE?Gxu@k-g6&c-yfdBRI7teb$LJt73Ae(j;33bmv*3n{Wl)g?dpFtJ25G
zZM4vFA*fpwX)BPKz)kgr&>;AiQaxWUBb`5}$ZA0^$YNzfm76l&f^P9-Rvc&}@b0s99_y(olly-cIxly@
z8To5GK>65&8faptvaQMreGj|L^XX0DP>77*u{R#Pq5I0nL65p!vG7o=Yf<{dj()Ro
Qu;uh{$S$0YKV{wV4;++9hyVZp
literal 0
HcmV?d00001
diff --git a/bin/linkedlist/RemoveDuplicatesfromSortedListII.class b/bin/linkedlist/RemoveDuplicatesfromSortedListII.class
new file mode 100644
index 0000000000000000000000000000000000000000..22d6b00b59e1bb69a54a8f37b981cfe42ff71fef
GIT binary patch
literal 1126
zcmb7C-%Aux6#lNx&giJL73j|A4QK+16>G!FIhMPWyH{C})j&X>wOu=y
z6X;B5<^{ByUQI^PiS8I8&;@!6wku1GdPVvVt%@TB`U_swa^@}HR`;VvEm*eK1ttss
zks@!%3K|$(7Goso6F{lo3v;
zS_cVC=QHyvBgvcN5BiZ@Wt~q41W!L;;g++yc?E*YKcem(U1E`;t9vA4inEYfEQ%EWUM!2z31?3;T%5VJa&oS
zXD^hjb4}@vWTl8WOST|Wp-nbo2p`BX*@j_ka+%C)6mQ8lnd1e<7>2HQ9byW)0b!u8
k^#f){;>>*%7n|)umJFfR-+dl$=`$w^<00@8Z3ogn0h80~SpWb4
literal 0
HcmV?d00001
diff --git a/bin/linkedlist/RemoveNthNodeFromEndofList.class b/bin/linkedlist/RemoveNthNodeFromEndofList.class
new file mode 100644
index 0000000000000000000000000000000000000000..d1af0e4f2a34f4a83feae340c12d728ffd39355a
GIT binary patch
literal 795
zcma)4O-~b16g{_{>GTU)TB}xQ#03GI;4CCAKusf&h^ZwJ(*1P$v;)%_QwHMFg?~c-
z0Na{qOkB8>#2@0?A3&_<4Q;{#6BqA(-*?Zs@BRGq?K^<`Xjn)ImI6OKRK37Iik+8g
z5S^%Y+;2xcwLOdmPs3jHs>PHALr^|&Ph2N(!`IGk_dt2EAoI`<{rIsUy|UU77+Y-2
zBaK`UCNhFj%MVric+geDeYYDZL8TRWZqRXuzV;_UBkuc0g5}nKf!QRK;S}lwreJO5
za<>MpS#0jCUK!3|4pj>kLG{wiX;%@~P$QjCy(P)ol{YZmS8h)rAM;w%f2KNMIN)vU$oF|Y5vRFh8%gj22xlW)D
z7<?hKOsgM%+(UIiWN6Wu95WBIJb!<&a1(|Ezaho
iY*U`gSYxsv7UqOMUd(eCv}ZHtC{h=A**r^9SojN2?WX$x
literal 0
HcmV?d00001
diff --git a/bin/linkedlist/ReverseLinkedListII.class b/bin/linkedlist/ReverseLinkedListII.class
new file mode 100644
index 0000000000000000000000000000000000000000..24d0f92c644e3f596047d533d1dd1ed7a96c77af
GIT binary patch
literal 892
zcmaJ;+iDY06kR8oTVi6bPdRT5EXA(evl0s}DxD?y)RlAPLUZe=o4^}RpR
zr@ksE1qDCAFYq_~fyQ+vQTkAXnX~s5i0hir1ab%7kyq_`gLl=P)`4t?0>&eM;D=iR$x^u~pgkFOWEx4NGSFcN
z%&>@TME#ZwUU{va6qu_I+g`8f1-`mZK`q?(M*_?B|Et&(xEf5vZOibzlmmfE>0**n
z+n|O`*DYU)o0t{IUwGzkMjAQfmFju6QF6=86oG3QTt|VxKz?Ai_N66B?@O;EAo~1W
z{*+oJ6bNK@L$BR^;T=v#klr0eL0dle)sPC8te~Q%j}@>0
z_XZ^BamGAN-m0{MR$n`V^*N@~JQWQlT;Z9S1kh%A<0vu1lgUD=jS-8!BljkGhPj&N
zXm`KDcC?zFTsKaUb@VT=Yx=PvY@?`kPR73-y=FK@j7~_ixNe=I3+@OvERXs)}W-Z)eoi%9ZSTK>}CsJcFDHB3n)ba1*7FMa?HZu}f{R0@Crf>iN
literal 0
HcmV?d00001
diff --git a/bin/linkedlist/ReverseNodesinkGroup.class b/bin/linkedlist/ReverseNodesinkGroup.class
new file mode 100644
index 0000000000000000000000000000000000000000..bf406f903b284999e8ed782ff89cfd767ecd7707
GIT binary patch
literal 1250
zcmah|TTc@~7(GMx(k=xGxWGaI!3(`msxcv^Ai+pL0<95D6CaG(wi{R|+ol(y@BR?u
zgMGzBCDFt;A@M)>7kt+k@Jw5ghbAWN%s1a{&N=h#x3f=Q0Ng=bN0-24(e?J7LeZ_(
zl3UK9Q>i+cQo*UxyH+XH%Q_T+(4Kv0CyTbXlYErhbMiF-ZPE4I+LC}T63q%I4_IWt
zhd>Z2G=aWN*K;!UgPc=&V&{sEz`$lHZx^$6#g*r_Q>pE`Re`C^|G-!f=&7{eZ8UKS
zBqEoKHc3DNUs#WJbO+FnK^+4EgO{%QTNT6=m}KEOFUZa8*uh|jVaaZUiIMea)_}lh
z5Mu}n=xuNU+0L*!w(RKajGuSzI(9)o?DM}apcd)}2QTR^^J+eWZ
zJH}8Z5&wWtBBjJrY6FYPyw*UEr7|t0zS4xLh2Ow$si)^ZxPZZln59?>rutc;iHTn|SYXUquKToPZ3oo-yV!Q?h&5
zV$fy>c&s*?j6F+CiGLpQ`3hII6|
ze!roLz%RPZpR5yd+S=;%vbUc#X-O)j%u0&V(kxAGdIQszW~mg<(iqbj&`;29>5Mk`
zRi|`@mAB{LXDx+E@dTIIf8xZN4`~tDC?y#q{V;|}W|SbOxG$5`Dy>z+4EC
zZc>$FkS1}HV5KEV``B|0H)$#Cyn-28D*NA~EGA>an5VcVg_V-bKso27ejVaMl*5}!zk0c5c>mp$m-(&
literal 0
HcmV?d00001
diff --git a/bin/linkedlist/RotateList.class b/bin/linkedlist/RotateList.class
new file mode 100644
index 0000000000000000000000000000000000000000..279872f0e85f42af6c0bb2d252275cdc51c126ac
GIT binary patch
literal 1799
zcmZuy-%}G;6#j0qKa#M>&mgfBL<^-gShUhou>llpDCk2MSYc(^&}HMakDc)!
z>65RvV}ny>`pQiIi2e`tUFml=Y0;9|$-Up6d+s^kIp4jTKi~fT2Y_)rG7(cqd#=CZ
zY- nQvdn0IO}*VLRu2f9pjDs;UQ{@+~|x{)Sx-}!-&(@i6AdE2o!6_n549Lx3`e=FQp
zFgL0};P~9BdCp@_%2i0N2adfXl;{~a`&Ew%t;?aku`_S)HA+tI1+E_o3x(e1_2kM)
z4B)bf!S{N<{NsM;>{_^jA@;peWq@=klE$qR?n%_;kOX$8OytSv)GP?b85-u`FoR=8T
zh=;}p$I$zYD
zqcx+wM0-(t7FQ8EI{rI?`QOmqcfN0Lb5hqPjeOA*S5sWgXNF1}Y5nKp*L6c8V=8)Q
z5-%ba!f1)NkTgl(;A0}er-j+ikZ+o(m$;t{2WZKW;Z?Nri`9WibmBU?aEtqAi0`5Y
z_i+|0+#%IHs#nmcj
Bb_?aaCjVVSGTF&KyHHPh>FDAo{p!
zGJX;t5+!hf8M>hxZ(u4D9m%)oR}o+aDqrs-eqzKJJqyn<_$w|QBDG`5%WN5_BBsfI5_u6QKZIi?2*#YyD?NemKaiN=^jitMR}|F6hGqe!90
z)bV~2zJs}jtQOO
z(nZTdsMQ0^=WF2JI@D{pS2P-L8G|b)2e3#PflK5yK+&Y0%Y3fzybfVPz77=mCPkP<
z9wmOGRxk>O^?pwesrXL40!p{cwvax1lEu*rSomp6x
zWk(<~W>!pRTp*ZC%?pIC*tevHAfhpZ5fM00Fe`G}U0IN|YsP{l1@wYlHmrH0W_tJL
zW5`)D>jLS*|HYFRP$U7*%}xs>k~a%&Xho-HRu=QANd-Lw;0s*Gw6aAnR}I~Ws^}9C
z84U>>QgE;%vxa#L{W#3@~}L>5o(h|owrpSs~WI~v0Pj*)<>T@~m{rgkf8IDu0N
zP73t2VNO;YxhQKfyn)jKYSkd;e0wESD;W>#*%;nLl9_vzk~80Ux|2KOHMKoh=@>E?
zWJRiOeM#W#>+tVJs^UC}Ij7v2V)?Y3O|o(E?$=YRsfStK6w>x67GV1C8zWJI>%;e#xhd>UNv0
z7-r?)`ek0lhs1hG#Z`g8(6EY+dCf)f2?`26?QD`ebw{qmFa@?>(00ADH6WOFc9#9;
zFgt0ihbq;P^V8X9g~ghWbN#?)@YU8+iI!P>N2f{_O`M*t+c`ZkcaiVpcu$({rGpH
zozVu#3HjtzaD?Y5snJN;KIo+GC{IaJcZuZXIhPaY!5k%Dp%=^O!z$wVmb3jm4&p8j
z;U0fH>o|=2^tDCnC;YoS#W6g?as0;r$a7Zo5Bh(B(|(aQ=#PbH7RfseGZud+c!?ZF
z{IdRzx9~RWuj5y|gHfVQ(rcb?Ve0l^jHd|i8s6neA+~Mla!b0}lHP4e@3o}sEvbjM
z;rVGx`m7}#Z?;tf-FrlLnJ)<_FVUr-Tl|Sp1&LfP_X3dsnS37~G+GW8Q3t4dLHz}Z
zQc%BAEQR!mVkxYDR4hgGp<+qVdy9piF!>0AJvo!v#Ox;K+O56cpMxa1OtJgZK6{CV
UPkcchK#7i$&z`^y-UGP#593#fBLDyZ
literal 0
HcmV?d00001
diff --git a/bin/stackqueue/LargestRectangleinHistogram.class b/bin/stackqueue/LargestRectangleinHistogram.class
new file mode 100644
index 0000000000000000000000000000000000000000..ff5687971bcf18d856db1eca28bac06216ef9742
GIT binary patch
literal 2042
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
literal 0
HcmV?d00001
diff --git a/bin/string/CountandSay.class b/bin/string/CountandSay.class
new file mode 100644
index 0000000000000000000000000000000000000000..57524e7e66cd8c4859ffb3f0584b6d487ef8672e
GIT binary patch
literal 1439
zcmZuwTT>EY7=AujSfup?Vr5cUX^19aW(Ung%QQhP8cVxrg;m!OoON-gyDt16jooIZbwRQ7xelLr`v@38Obd7k(EzWx336~Hw-R^bu|Y}%HYUx|$uig{bl
zXVdyC6^cO9n!csSaym`3OKV2P7Vr+6dD9*da7Vi51(fkZ*6_oPIt?Cp1saoP-k2$_
zFB#SoeJN)!d9skvbMv}o%6sLbVy~K;0xikv%0mJtG7?C_0U{8JOm!y@kfa@~Lq0SM
zh`1jDK@BYk2{f!2wnJgeST0yB-4&^htC5O%^88QnPfUU87#d80`n0WQUZ(U7hl7gn
z5rN9Ed^jfnKibiu;Q}sFu$+-!u~!|zrlg@$Ll-X7kXhBO1SM6-Z(K#Uz{%q*$BJey
zYgjU@M?){J2&h|nu4v3IA7fYU&rl6^enb$H-MK2ItR~kzFFpD-PQw6E=^GnHJ}b~(
zOZ5t#AsI0!BW_5?@#?CF9dBv44R+OM7s?{B?~&>ddU!2kvzVhKVvVw_>n7XM8hKs|
za~%?(Xk$lv@M_aG)-~M2ed=8(GE=A=Y!+g39C4cf41JyW1?qg5WXX6u-rvtLdWfWo
zX%3UqgQNZ$Qc^w7hDqhx{RH289$cIvIA$>51kYO8fqOk~9CtKwmBFv+t#CgTXi6y~yU?P&B?MC2
zZV^7Sv;VXA9c^wWUn@(p2yb5a7~8$t@qC&!JZMH6zqxUS
zS^RMQflo!d@X?Deu!810?Xt>Z;B3lGG}B?_#h|ha@3taBN>2&r-=euET*9TEkizxN
z{*OIG7J5H}-1|aGI9o#8v6pbYgqx|5qGU%T85z5?|M3u?sKctB6&uK>k;*jj*Nh<7
zDA!5iO40U=T%?8rWn}+3E;`I4$EO&sa7f%{S8&PT7RLFx{cs&
wg>`~CWCMdAFuDh^@Cg%v2kb%#QwQy&WOQjmfGH1J8pI4{`CVX+s|%0*0h;C_c>n+a
literal 0
HcmV?d00001
diff --git a/bin/string/ImplementstrStr.class b/bin/string/ImplementstrStr.class
new file mode 100644
index 0000000000000000000000000000000000000000..023ab16acf202427f3f62ec123505d959a2ada47
GIT binary patch
literal 1096
zcmZuvO-~b16g{sq)0R5WTA1?XfKrdG>{r4F=?K^;FEX5EJ$aMU+>+KXud;3ji
z&+&Zbn|?b6RUox%zqJcZo8?M%*Qxme(KXj|{i1-9%Wny&>#e$zfPw)X8lnQpvg)8BNFA@f(4dl7x@y7{j-E9H%bL5-z`zz~H7tKeP9He#JsJ?n{#MI_@IJL$!w8
ze#|>jIdz@qb}3}PMOzb_t!}&KJauKuk^gS?o}7;v5X@%)Mj@|`F~+RGRdCf7z9RmG
zKM^DtWm!URFzO+I>mW0MAtV{);m<^?T$imgq>i9328(8$UdcZ|6Q>p{nW7mv4ifVW
z6Q?|;1f#Nu^Iv1zC{k=Y#r!ra^Bit*=n^ZE#zHu%M?*g7DNF~{mWiJxm3b1JL6&{*
z5FdwZ|LiZLi7L;9nby_RDkgt(0eqJpWa
z+jkxhdkx2bsv2EKkg9r3)vYVv)%pHrIOw)Nu|Ly1dtTyMjb5
zP|a75)aGw5J>~WV*}{wCoyB?_7jfCdrNipp3<9TT;|dli${SKaX433>C;kvn-0_e5Gt^0
z-q3G44_$p|nWNvslBU503JCG*0i);xXEd3WxeC`vX&12%d@x`!>avEOV6-Oyt_fzM
zO)%=_ZKA_mi=hXLBP7GED~x2@Z`3<`Ls_
zgae`+Y$D5i7IEZAndjaDX*79hLaB9P*h{>yxtf8A~F3+^x)xcdulCa`e;
literal 0
HcmV?d00001
diff --git a/bin/string/LongestCommonPrefix.class b/bin/string/LongestCommonPrefix.class
new file mode 100644
index 0000000000000000000000000000000000000000..ad2e64ecffe41fe61d8d189d96b337899fdd60a5
GIT binary patch
literal 1184
zcmZ`%+fEZv6kVsC>5ZviOS!b52r4bDR9Zl#SX2^|nj$1MB*dpF3}vtv(oPM&^AkR5
zOn5~fN}`bu(BJUUAMgQjooNjrl!w{p?6Yrct=T{Remwz@#xpk@0^x>LH>;&&zE&+6
z4Qshpsnn`#bz|GycS8~A+tuId$+FIr)#9$PX$iO%&8lf-1)R~?x`47=+cJD`!mB}r
zOQ1JzR*jdg9F4Zc4xNs8~B@LtrF-HG+&luzVSqz-07w{v24r
zrjUtUe)8bD0DK4{{G|b}x%WF+;La2?gDL=w26S28|4LdJ~+va|_Y3~N}#V*zzfR$L*V+$z0Z
zqE3RJuTX2&H;w0}T&1Bdi#jdG;1=OKx!Is)f4FGf^pZTe1W>1r;rYyqg9`yWEK_@U
z*V+j@{q%&CfL0d&hQdrBA3sq(!WHN{iaS#)O7;-xgmbioz=ER8tA~ihLuzVRX<_I+
zG)9yy#*PkD5mMtPAI^RqIK^n9g^^EZKNCmn=d>|Q+tVdf7rdP3hX(=P!ixV#0wir;9epB4PxUM$#@I*SH2)cQV-8X4X_C4
kCxj3p95aqV8}wMa6|#g1M*BOUBP6zDgBEzghyzdm0i2rhC;$Ke
literal 0
HcmV?d00001
diff --git a/bin/string/LongestPalindromicSubstring.class b/bin/string/LongestPalindromicSubstring.class
new file mode 100644
index 0000000000000000000000000000000000000000..65d38bc675ddc144077558acc8dd07dc96593978
GIT binary patch
literal 1490
zcmah}O>7%Q6#m9LyJI`s*0DQop)Ry(Y3-WS#BNL>Z6Q=bSTapTOjPOv+1N|6!9S6`
zL2xQUk+^a~;zWytj5yIAT!~7(At7!YICJ2_4XNs>f`)I`siHIy$l5n=-rs!hn>YUD
z@sIZbl<q1x>%yM6zv)ABmaUbpQv=GT`-J_RX|Sam*f3N44Bb4#mk
z!xykFcpcBbBw%E73j*?Tx9P@VAZEjaC2*kXb=)iK?IpKYbCz1JK(g9xIIRVz=LP#M
zqx4t2zQD=q|09_Z7;ilVlx0t4tJ~=2!+vIRyG?P7Bc+hs(ab2^#zAOy)N(t^{z}+U
zMd1*Ydi{Ek_l%8aafA_#6{k1L=4G~$yBv6q+ISAn3&i?Q_!3BGE0sL}2naTs+>MNm
z3cnBddHhxdRNMLZeWDRC`@YlTf&1otr}5$2&RR&D!Wn@`{W^iP9gkt@Y<+j#+(Haz
z@sdJeXV0JXeYb663PpC)wm(9{w0gND3
zGHz_78nw|%XGTkHY1NdA-ypH2m8Di?b3+NOv~_Fq#)c)dMbv9~ZSp4WaqLUb(t
z55`5f-6Vpj0^Q?bh!A{+3OTXK)TbRr;1I@XH4%A4u42gJ#nDt@HXKnPbqAC8Al|!+
iQu5po_jOT*7O#3z8j-^6bBDjwBxd
literal 0
HcmV?d00001
diff --git a/bin/string/SimplifyPath.class b/bin/string/SimplifyPath.class
new file mode 100644
index 0000000000000000000000000000000000000000..8f1c1325c6135e40c06f27b7bd71ab607f165c65
GIT binary patch
literal 1657
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
a;R8xR+BG?;DYewxn+%f@_>lGieDoiu3S5`~
literal 0
HcmV?d00001
diff --git a/bin/tree/BinaryTreeLevelOrderTraversalII.class b/bin/tree/BinaryTreeLevelOrderTraversalII.class
new file mode 100644
index 0000000000000000000000000000000000000000..ca4e4726d1ef1462d785197c8cdfa1565a464bcf
GIT binary patch
literal 1678
zcma)6&u<$=6#mA)#&)(z^TTf4LYfpOIB8s`Eu=IKF8x8M!AU3yK~!8e_9WeQS*M%b
zpm5?)q+UUs;DG3*h*OY|N{ECwfy9Y_2UJ?VSv$$rLTY7scHX@AzW3hu-prqmfB6-_
zIlM0s5y*S4Ql-n5W4c>Q+}6~lvKQQja+h3lQ@I5O$=IW|)1u}(JIw9W6V>cvDJcUl4Z>vTt_+ShDq=A=^XH(XjwoT(go0l+<
z#Hhfbfb~84QW!zOz!=8a)lHM0qMF78PD>O8dV^%cR2V2>Qb5wwR|~5G*+MlOX^*ik
zoW&~==LEVB3f2i5cvaUMH5&~b`@DhIaDi#tYLye#)6raQQZ_K7P2#S#cGJ_q6%BGR
zi2XloEo-tb8Murq#NDtyDTB;{`WIAnB-2+8SYzJz8X+9{R2Iy}>^pg4J9+@8}7f40#3#&2$h|VTL0iqY!+!
zeVk)Xz@lf?Z_k0~H$MIl
z$sYrCnyXd=DRgl)S_b?cqQv4?zxdA3?7M5r63?h4K%(==<;?2Ifxvf%wGsE;5vk
z%*Uo;#Zx;t8o>v<8068=bo>GQ=u~1~j84f1SSapbSl~B|Oeb^kT=FNp{4?lyhK^dA
z`W=16VABG-n-E%>-aDS&KfWtPMrLB)J=va!=HfeeJ&H_%S?u5qfv=z3o7iTyG3ZKH
zaFnZoB!6TQ@7qvaTE-iDC3(90MrwMVRF21suUe+P_Wh4IHEIaX5Sq?qCpGIDyYG
zgnP94k~jMs*2#7TR
literal 0
HcmV?d00001
diff --git a/bin/tree/BinaryTreePostorderTraversal.class b/bin/tree/BinaryTreePostorderTraversal.class
new file mode 100644
index 0000000000000000000000000000000000000000..daa9c1507fc8d2717bc6c3694d84f37f5efcede7
GIT binary patch
literal 2357
zcma)7-*XdH6#j0r>9%2MOMgKSA!(r`P1`7-lq3`ZMXPD46pMhrw(XKGq)BG8f$1y0
zIn4OvI6OE!DX-{A>)08`8E49jf0KiL=Wd$*AS#p0=Ipumob#RUJNM?#=fD02;3RIF
zXieAX#RpyZ}#OC=tX8{Aq&7Ci5C?&3B9G^PXp~-ljR?BY9)Uu?h5b0diVeI9$9Gq3ic(YQmCGc!b5~pBxX4Bn
z`kF?v>P~)FDw`Y+Hw$Rqn?mkoa5fK4&b1?sK@$TCd$pdMnpilBgVKO=%a=Vv7LJP}
z?74*{?MYe~MvBvP*Dflk$p}V~HZi8KZ)^7I8d!J@uPd0`T5~SnV&{p;y68Kk5
z?_rWuI?EM*MIT2t6spLSn+rA1b4r|po*zL>hn!E{aGL~((BuwAj
z27lJ~+)^Q%oQqJ?D{}B>xszhh!ReRBoQ2cqY{$pAVdDCZn`CyS>O0F8ZsHRHF4wk3
z+bySOnAvB3$6n4x@EN`^@%iSd+qrDP#ymT$NW{NLEEkmR6?oC~G{G;`OQb90-zzhb
zzr>qFAu?O8c?-@ZSMIL(e_fGdqA?j@241Zo4a|a8K25%*`K!b`yoRF1`a(KihhDdsaWCUL
zblzAHQ_st2L~)S$+xU3}hnW3U#!L0UbC@0_S68F@5ncTO^GNl<)CS_ish<&(;$j@r
zC}<>p0nHQFq(MUi>L&-_2{h0{NWJJs9|o9O8V-OBHh>M*fw9CcV1Y+~y~(%`)Bq83
zq8bP_Kk7c;Te;!UCO@fX2#-8b(<)=EW1N&_GT~@AwTkSu$MB-zRh;`B@r)5Q*v&KS
zk>6t*h>mVxO#4Q^hozmPKj6@aSeq?M@WpFUWBM_Y^{|d;SX+`_jMxV1u9$W);?l#v
zA85G(cCL^Skp4CtCJRR>Sd8+-$<+Xb8RX|EhH#8G-4Nz@SuP*}7fBR(O_ni&d%Pd-
zV+>z$zP{n!@A#K4%uWO}G?;zVko?;^vt9Ta?{f@7tn~mN&@x!@OXM*{#bhA*NoE^l
zzwjQcO><2Yh{F5}9VWV;W50>G{*Fic4s`Rc50^1Rb!6!OV0w{1yN>vEV+|kX#R$`w
z5~G#IbZX=&=V$aOV(U;;=qlCuC}aEtQn-pwWs-u?9@g`8ngzx=PiKfLL$u=5PgX%0>WrODYMbF_2K(PQ6D{%+A~VTKqAnu8Num!n`bjzZu$Opn46<6GeV
E171G${r~^~
literal 0
HcmV?d00001
diff --git a/bin/tree/BinaryTreePreorderTraversal.class b/bin/tree/BinaryTreePreorderTraversal.class
new file mode 100644
index 0000000000000000000000000000000000000000..d9789a28f2a80abfeeda4fb7d9c85a80e853ba13
GIT binary patch
literal 2170
zcma)8jZzy`6#gz**d#6`n!qxLtLuinC)mYmRwfIW@DSLsN)6Fb~XZ$t>??SGFEl+pa>-oL#ovd4)hc
zv96#kRCcT|0tgxCMvp>Y!7f|N_5CfzGPg>WLVuyMZI;$e$Ch)$sJVM~O(9nJKO8xQ
zi`8~;3RmO4r(jbPOmAbjT4#KSE(BL=8NP=M;jca22k#C+rB))6uC^sBT{yD+*j94~3zQo=kdP
z+{5arz{ySyovA6zJq^yz&WZI9#xSlUrqJsZ^Ry%eUcwdj$$?o?Q28*fA)zDAdY*Mv
zLtg_)q!e^sty?SiNh_Xj6!csfMC*)!31k`9+}WWn@s?`&J(^406-ZMCrg2FGwC=lN
zxMARBF?2ij?j9xWExP9R=Sya_(UQZbb!)zXylXk8TXA&UWNFT7?>UAsBXys_oPpQC
z2ccE#wLPyh&-k4p`X@;7e8a#k+$NQ3rK&I(Z>8MulxuGqcnfz3+}f|Yhu+J(%TrC@
zQ_Yq_d%)QAv3A>BTVKudlD2Q!Ws&+`3%a7~*yY_^Vm(a7mgG$@^Cqi710Rzt?-_U%
zeIXR_fsVCvL!x+CbFF;?>)0U7O8u;H?Mil)kzK~O%>7o4BWgH2f!Z{bP_cebrNwv46G{}_G~Qb7v90Gyei
z3JiiCt~yUy{wlF1j}iQun=XX8%4b=h;cEC7_}j~q!Ugp4R)qU5T=atMF|-7aoS=X6
z7=ug6RQd=*>4&rhym%M9?;!+vy1=LschvW3#HBZeaf$JR{CgfRF#3zUCE0z;2rWv+
zQZxHyFZ-8_BiYAOKVvMN`WB<#;p!368%gdb1&C~}%SH%l9-t^S0EuW!8zGHhzQ!1a
zT7Zo=fsHqSF-03N-y*LsL$+DL#O4`V`MT9GcB0Y
zsUzez1b89!_{nbs{rZm>D+qxC4+~#C`JMJ(Ga{|eWSTfZgh7fIA-+LM7p1r{);!KN
zgUguW__~QJn8yh6oLwS+(udS!x!9C{0dM0Sk3!Dl8}JGdr6maYmT!I=A!lLUi@=|V
z>X^~dAB`Y{cdm&!|G-mm~fpEOxr^YAvl&28C
leCD-SKN2vx>tcjaY;hOhw~)tHYqp(l8KF)J+w||k&fg1?)2;vj
literal 0
HcmV?d00001
diff --git a/bin/tree/BinaryTreeZigzagLevelOrderTraversal.class b/bin/tree/BinaryTreeZigzagLevelOrderTraversal.class
new file mode 100644
index 0000000000000000000000000000000000000000..e060e2220c90e607e253558ebf4c72b3d85c565a
GIT binary patch
literal 1800
zcma)6-%lJ>6#nk+471BlOZl1>IWM(x29%3s^uJc^h^w+iAyL9A+?(
z_|_K_-}J%yq|t;YlbRU&gT(k$qc6sPhg9*qGYd>NCX&t0+;i?Z-}&x$&fGu#dG-r{
zQQR>Q6Uce4l=*9R&2rc0xm>iX8&*Q7J!R-`-cT5Hl>wHyPQz>#~_nw58~S~Wkj
zbWfH&ftI3Ov%Lv{cy3@pK)YVA$X3LWG@+wKpsi%rSfDWuv}Z&
z4X5VawO0iOO9$mMPBt4&WCeP1A%Hr{G?|PKlmg1WXFK_lz3MS7IcHaEmgl?Va_j%%
zi%t0rJCI{%gkP+x=+Pxt^_9;~w$rQ49#lUf@
zwI6fam%cP{0w)FZ`tq`L1=6{YPNW0l1B(Vuy@XE1@5@S9ygNkiHSsE5V|!NWj>F(w
zLzgI!fqsEQf&RPlCDDhRi2)3qO8T^5AeaHJ*c`vtK^L+ap^+m(*Ul
z?$?-RmVMWiH81#r1X7CCe0^3Grg)12iJJVR5i4xE=+3*rdw@Irl|^BJk0MakVJ}4GYsJS5G_s(+6Z!l>loSBb94*`i?GfELn!OguKUuS`$0ma
z6KU<+ov((ndWe}e3Yscr#5bXl7&%-K_-3qUy%ltBrhM95HtEG6jS
zEi;Ht45JI@d8LeUr--AR@?)4{#4L_OGT+BZe2Q*-hEw>QSzn?T-|%Yqj2J$yBNN-ki7R58qy;`8Knx520*{rXA^-pY
literal 0
HcmV?d00001
diff --git a/bin/tree/SameTree.class b/bin/tree/SameTree.class
new file mode 100644
index 0000000000000000000000000000000000000000..cb69ca876ed068e21dd8f2b65340b351ab5ddeab
GIT binary patch
literal 1245
zcmZ`&Sx*yD7(JIR)7GhMrO2kTcclopLV3?!NupCIu!8TEYA83uV;t8A+uSZzcI+Xo(JBjQh1PoQGhoy^dVV@PMR!62jma|&
z;?K&omI~EU*1T`Ypu_Iq#)K96DX53v7q}Ax{M@x#(45GT2g%8V>rQcl;`Lnx_1!~vzKPC
zZSsnTi$y$k<0zYg#RFU+u0BGzLkI%oYP}gP0m8Ppf-W1}UBIw8{W@1aIMnlSV1yNupBMwCfH
zR5AaO(kN^Mx
literal 0
HcmV?d00001
diff --git a/bin/tree/SymmetricTree.class b/bin/tree/SymmetricTree.class
new file mode 100644
index 0000000000000000000000000000000000000000..fb2326a3952116c00f6ac41259c0518241515070
GIT binary patch
literal 781
zcmZXR&2G~`6ot>kj@>v;hl(tM*Y4
z8y=t=Bm@!*mLTy^h%@7mMNpJGbLZYU=bP)_f4=_!@EkiXN&<~MQ>r_>nM_ok#nB-%
z7q&ofDz9WWk<*jz+tI0taslT>JdN|00@iN(NWgxTzEd77RD6`-2-N%WR1GdCBb6P>
zQKBf`Pa~Ne$t>3S?9k4~@r6LM|G)FTKsCOY!%$$i=+amN+U>WGD_Fs*i-thW2>dJg
zXkv|2iF!}g`ocYZYu(2k-BQltlX31r;GU2Bc)*irtfDi4twp;9mG&_WvNWYZZJ5jG
z>_DEIS84f8A6t0L>0HS~K)ey~hUsM%sn@ZY#r#>C_?aFr``ONq0Y*~5VRV^wxeBi3
z@Eevsb5nxHsLQ&w%IFsjTx-k(mQiQam#^7jb6wy2g|dCS_XWWLLu(Lro_@vMTb3*%
z*PpmBxdpy!$Yjmpvn`@nLq(=aGcb7WE6#_<1}X!A6d{(>ye_;
zDM)_8)jLZwZFKnmgzZrCao-}^2Q+osVj7r~_|_t?Ps$qkm(k#po8-{r*euNEygfsy
W$JH~GB}3`J_FNGXahsJAp8N%JyobC1
literal 0
HcmV?d00001
diff --git a/bin/tree/TreeNode.class b/bin/tree/TreeNode.class
new file mode 100644
index 0000000000000000000000000000000000000000..d8e4d7ad66822e29adb71d6679d9e5f2841e0c6e
GIT binary patch
literal 352
zcmY*Uy-ve07(6Fw)0m_!&~`yJ@jEAvbbF9Pzu+*FyK7)y@+ykA(`IH$79|Jh4
z$w89^Yl%JbLRJ$vJVeIth{k7c=)baaFktL9Djj$Tcq9&p9sja%xYLw4;w$vUiQPN-
E0TTr~=>Px#
literal 0
HcmV?d00001
diff --git a/src/linearlist/Candy.java b/src/linearlist/Candy.java
new file mode 100644
index 0000000..5642d24
--- /dev/null
+++ b/src/linearlist/Candy.java
@@ -0,0 +1,32 @@
+package linearlist;
+
+public class Candy {
+ public int candy(int[] ratings) {
+ int value[]=new int[ratings.length];
+ for(int i=0;iratings[i-1]){
+ crt++;
+ value[i]=Math.max(value[i], crt);
+ }else{
+ crt=1;
+ }
+ }
+ crt=1;
+ for(int i=ratings.length-2;i>=0;i--){
+ if(ratings[i]>ratings[i+1]){
+ crt++;
+ value[i]=Math.max(value[i], crt);
+ }else{
+ crt=1;
+ }
+ }
+ int sum=0;
+ for(int i=0;i> fourSum(int[] num, int target) {
+ List> list = new ArrayList>();
+ Arrays.sort(num);
+ int b, c;
+ for (int i = 0; i <= num.length - 4; i++) {
+ if (i!=0 && num[i] == num[i - 1])
+ continue;
+ for (int j = i + 1; j <= num.length - 3; j++) {
+ if (j!=i+1 && num[j] == num[j - 1])
+ continue;
+ b = j + 1;
+ c = num.length - 1;
+ int leftValue = target - num[i] - num[j];
+ // duplicate deal
+ while (b < c) {
+ if (c <= num.length - 2 && num[c] == num[c + 1]) {
+ c--;
+ continue;
+ }
+ if (b > j + 1 && num[b] == num[b - 1]) {
+ b++;
+ continue;
+ }
+ if (num[b] + num[c] < leftValue) {
+ b++;
+ } else if (num[b] + num[c] > leftValue) {
+ c--;
+ } else {
+ List newlist = new ArrayList<>();
+ newlist.add(num[i]);
+ newlist.add(num[j]);
+ newlist.add(num[b]);
+ newlist.add(num[c]);
+ list.add(newlist);
+ b++;
+ c--;
+ }
+ }
+ }
+ }
+ return list;
+ }
+
+ public static void main(String[] args) {
+ int[] a = {0,0,0,0};
+ List> list = new FourSum().fourSum(a, 0);
+ // for(Iterator iter=list.iterator();iter.hasNext();){
+ //
+ // }
+ System.out.print(list.toString());
+ }
+
+}
diff --git a/src/linearlist/GasStation.java b/src/linearlist/GasStation.java
new file mode 100644
index 0000000..e2ff635
--- /dev/null
+++ b/src/linearlist/GasStation.java
@@ -0,0 +1,19 @@
+package linearlist;
+
+public class GasStation {
+ public int canCompleteCircuit(int[] gas, int[] cost) {
+
+ int sum=0;
+ int start=0;
+ int total = 0;
+ for(int i=0;i=0?start:-1;
+ }
+}
diff --git a/src/linearlist/LongestConsecutiveSequence.java b/src/linearlist/LongestConsecutiveSequence.java
new file mode 100644
index 0000000..295fabc
--- /dev/null
+++ b/src/linearlist/LongestConsecutiveSequence.java
@@ -0,0 +1,75 @@
+package linearlist;
+
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Map;
+import java.util.Set;
+
+/**
+ * 方法一:
+ * 使用一个map来记录是否出现
+ * 对每个元素,往两边搜索是否出现
+ * 提交上去会超时
+ *
+ * 方法二:
+ *
+ * @author luo
+ *
+ */
+public class LongestConsecutiveSequence {
+ public int longestConsecutive(int[] num) {
+ Map hashMap=new HashMap();
+ int maxLength=0;
+ for(int i=0;i hashSet=new HashSet();
+ int maxLength=0;
+ for(int i=0;in)
+ return find_kth(B,n,A,m,k);
+ if(m==0)
+ return B[k-1];
+ if(k==1)
+ return Math.min(A[0], B[0]);
+
+ int middleA=Math.min(k/2, m);
+ int middleB=k-middleA;
+ if(A[middleA-1]B[middleB-1]){
+ for(int i=0;i=0;i--){
+ if(num[i]=0;i--){
+ if(num[i]>firstflag){
+ secondIndex=i;
+ break;
+ }
+ }
+ swap(num,firstIndex,secondIndex);
+ for(int k=0;k<(num.length-firstIndex-1)/2;k++){
+ swap(num,firstIndex+1+k,num.length-1-k);
+
+ }
+ }
+ public void swap(int[] a,int i,int j){
+ int temp=a[i];
+ a[i]=a[j];
+ a[j]=temp;
+ }
+ public void reverse(int a[]) {
+ for(int i=0;i=A[start]){
+ end=middle-1;
+ }else{
+ start=middle+1;
+ }
+
+ }else{
+ if(target>A[middle]&&target<=A[end]){
+ start=middle+1;
+ }else{
+ end=middle-1;
+ }
+ }
+ }
+ return -1;
+ }
+
+ public static void main(String[] args){
+ int A[]={4, 5, 6, 7, 0, 1, 2};
+ System.out.print(new SearchinRotatedSortedArray().search(A, 0));
+ }
+}
diff --git a/src/linearlist/SearchinRotatedSortedArrayII.java b/src/linearlist/SearchinRotatedSortedArrayII.java
new file mode 100644
index 0000000..60bbc69
--- /dev/null
+++ b/src/linearlist/SearchinRotatedSortedArrayII.java
@@ -0,0 +1,32 @@
+package linearlist;
+
+//多分一种情况
+//A[start]==A[middle]
+public class SearchinRotatedSortedArrayII {
+ public boolean search(int[] A, int target) {
+ int start = 0;
+ int end = A.length - 1;
+ while (start <= end) {
+ int middle = (start + end) / 2;
+ if (A[middle] == target)
+ return true;
+ if (A[start] < A[middle]) {
+ if (target < A[middle] && target >= A[start]) {
+ end = middle - 1;
+ } else {
+ start = middle + 1;
+ }
+ }else if(A[start]==A[middle]){
+ start++;
+ }
+ else {
+ if (target > A[middle] && target <= A[end]) {
+ start = middle + 1;
+ } else {
+ end = middle - 1;
+ }
+ }
+ }
+ return false;
+ }
+}
diff --git a/src/linearlist/SetMatrixZeroes.java b/src/linearlist/SetMatrixZeroes.java
new file mode 100644
index 0000000..f212f59
--- /dev/null
+++ b/src/linearlist/SetMatrixZeroes.java
@@ -0,0 +1,27 @@
+package linearlist;
+
+public class SetMatrixZeroes {
+ public void setZeroes(int[][] matrix) {
+ int row=matrix.length;
+ int column=matrix[0].length;
+ boolean columns[]=new boolean[column];
+ boolean rows[]=new boolean[row];
+
+ for(int i=0;i> threeSum(int[] num) {
+ List> list=new ArrayList>();
+ Arrays.sort(num);
+ int b,c;
+ for(int i=0;i 0 && num[i] == num[i-1])continue;
+ while(bi+1 && num[b] == num[b-1]){
+ b++;
+ continue;
+ }
+ if(num[b]+num[c]leftValue){
+ c--;
+ }else{
+ List newlist=new ArrayList<>();
+ newlist.add(num[i]);
+ newlist.add(num[b]);
+ newlist.add(num[c]);
+ list.add(newlist);
+ b++;
+ c--;
+ }
+ }
+ }
+ return list;
+ }
+ public static void main(String[] args){
+ int[] a = {-1, 0, 1, 2, -1, -4};
+ List> list=new ThreeSum().threeSum(a);
+// for(Iterator iter=list.iterator();iter.hasNext();){
+//
+// }
+ System.out.print(list.toString());
+ }
+
+}
diff --git a/src/linearlist/ThreeSumClosest.java b/src/linearlist/ThreeSumClosest.java
new file mode 100644
index 0000000..6626037
--- /dev/null
+++ b/src/linearlist/ThreeSumClosest.java
@@ -0,0 +1,37 @@
+package linearlist;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+
+public class ThreeSumClosest {
+ public int threeSumClosest(int[] num, int target) {
+ Arrays.sort(num);
+ int b, c;
+ int closer = num[0]+num[1]+num[2];
+ for (int i = 0; i < num.length; i++) {
+ b = i + 1;
+ c = num.length - 1;
+ // duplicate deal
+ while (b < c) {
+ int currentSum = num[i] + num[b] + num[c];
+ if (Math.abs(currentSum - target) < Math.abs(closer - target)) {
+ closer = currentSum;
+ }
+ if (num[b] + num[c] +num[i]<= target) {
+ b++;
+
+ } else if (num[b] + num[c]+num[i] > target) {
+ c--;
+ }
+
+ }
+ }
+ return closer;
+ }
+
+ public static void main(String[] args){
+ int[] a = {1,1,-1,-1,3};
+ System.out.print(new ThreeSumClosest().threeSumClosest(a, -1));
+ }
+}
diff --git a/src/linearlist/TrappingRainWater.java b/src/linearlist/TrappingRainWater.java
new file mode 100644
index 0000000..7f4250c
--- /dev/null
+++ b/src/linearlist/TrappingRainWater.java
@@ -0,0 +1,35 @@
+package linearlist;
+
+public class TrappingRainWater {
+ public int trap(int[] A) {
+
+ int maxIndex = 0;
+ for (int i = 0; i < A.length; i++) {
+ if (A[i] > A[maxIndex]) {
+ maxIndex = i;
+ }
+ }
+ int water=0;
+ int peak=0;//record the max height of left of the node
+ for(int i=0;i