From fce2082f1af4680319b1f2f21b3b0756338eebbc Mon Sep 17 00:00:00 2001 From: CyC2018 Date: Sun, 25 Oct 2026 21:34:15 +0800 Subject: [PATCH] =?UTF-8?q?Update=20Leetcode=20=E9=A2=98=E8=A7=A3=20-=20?= =?UTF-8?q?=E5=8F=8C=E6=8C=87=E9=92=88.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 补充三数之和、接雨水、最小覆盖子串,并配图说明接雨水的水位计算。 --- notes/Leetcode 题解 - 双指针.md | 124 ++++++++++++++++++++++ notes/pics/trapping-rain-water.png | Bin 0 -> 65548 bytes tools/diagram/src/trapping-rain-water.svg | 67 ++++++++++++ 3 files changed, 191 insertions(+) create mode 100644 notes/pics/trapping-rain-water.png create mode 100644 tools/diagram/src/trapping-rain-water.svg diff --git a/notes/Leetcode 题解 - 双指针.md b/notes/Leetcode 题解 - 双指针.md index 5d5113eb..7b44d215 100644 --- a/notes/Leetcode 题解 - 双指针.md +++ b/notes/Leetcode 题解 - 双指针.md @@ -8,6 +8,9 @@ * [5. 归并两个有序数组](#5-归并两个有序数组) * [6. 判断链表是否存在环](#6-判断链表是否存在环) * [7. 最长子序列](#7-最长子序列) + * [8. 三数之和](#8-三数之和) + * [9. 接雨水](#9-接雨水) + * [10. 最小覆盖子串](#10-最小覆盖子串) @@ -290,3 +293,124 @@ private boolean isSubstr(String s, String target) { return j == target.length(); } ``` + +## 8. 三数之和 + +15\. 3Sum (Medium) + +[Leetcode](https://leetcode.com/problems/3sum/) / [力扣](https://leetcode.cn/problems/3sum/) + +```text +Input: nums = [-1, 0, 1, 2, -1, -4] +Output: [[-1, -1, 2], [-1, 0, 1]] +``` + +题目描述:找出所有和为 0 且不重复的三元组。 + +先排序,然后枚举第一个数 nums[i],在它右边用第 1 题的双指针方法寻找和为 -nums[i] 的两个数。去重的关键是跳过相同的值:i 跳过与前一个数相同的值,找到一组解之后,两个指针也跳过相同的值。时间复杂度为 O(N2)。 + +```java +public List> threeSum(int[] nums) { + Arrays.sort(nums); + List> ret = new ArrayList<>(); + for (int i = 0; i < nums.length - 2; i++) { + if (i > 0 && nums[i] == nums[i - 1]) { + continue; + } + int l = i + 1, h = nums.length - 1; + while (l < h) { + int sum = nums[i] + nums[l] + nums[h]; + if (sum < 0) { + l++; + } else if (sum > 0) { + h--; + } else { + ret.add(Arrays.asList(nums[i], nums[l], nums[h])); + while (l < h && nums[l] == nums[l + 1]) { + l++; + } + while (l < h && nums[h] == nums[h - 1]) { + h--; + } + l++; + h--; + } + } + } + return ret; +} +``` + +## 9. 接雨水 + +42\. Trapping Rain Water (Hard) + +[Leetcode](https://leetcode.com/problems/trapping-rain-water/) / [力扣](https://leetcode.cn/problems/trapping-rain-water/) + +```text +Input: height = [0, 1, 0, 2, 1, 0, 1, 3, 2, 1, 2, 1] +Output: 6 +``` + +位置 i 上方能存的水,取决于它左边最高的柱子和右边最高的柱子中较矮的那一个:water[i] = min(leftMax, rightMax) - height[i]。 + +用两个指针从两端向中间移动,分别维护 leftMax 和 rightMax。如果 leftMax < rightMax,左指针处的水位只由 leftMax 决定,因为右边已经有一根不低于 rightMax 的柱子,可以直接结算左指针并右移;反之结算右指针并左移。 + +

+ +```java +public int trap(int[] height) { + int l = 0, r = height.length - 1; + int leftMax = 0, rightMax = 0, ret = 0; + while (l < r) { + leftMax = Math.max(leftMax, height[l]); + rightMax = Math.max(rightMax, height[r]); + if (leftMax < rightMax) { + ret += leftMax - height[l++]; + } else { + ret += rightMax - height[r--]; + } + } + return ret; +} +``` + +## 10. 最小覆盖子串 + +76\. Minimum Window Substring (Hard) + +[Leetcode](https://leetcode.com/problems/minimum-window-substring/) / [力扣](https://leetcode.cn/problems/minimum-window-substring/) + +```text +Input: s = "ADOBECODEBANC", t = "ABC" +Output: "BANC" +``` + +题目描述:找出 s 中包含 t 所有字符(包括重复字符)的最短子串。 + +使用滑动窗口。need[c] 表示窗口还缺几个字符 c,missing 表示一共还缺几个字符。右指针不断扩大窗口,直到 missing 为 0,此时窗口包含了 t 的所有字符;然后移动左指针缩小窗口,在窗口仍然满足条件时更新答案。 + +```java +public String minWindow(String s, String t) { + int[] need = new int[128]; + for (char c : t.toCharArray()) { + need[c]++; + } + int missing = t.length(), start = 0, minLen = Integer.MAX_VALUE; + for (int l = 0, r = 0; r < s.length(); r++) { + if (need[s.charAt(r)]-- > 0) { + missing--; + } + while (missing == 0) { + if (r - l + 1 < minLen) { + minLen = r - l + 1; + start = l; + } + if (++need[s.charAt(l++)] > 0) { + missing++; + } + } + } + return minLen == Integer.MAX_VALUE ? "" : s.substring(start, start + minLen); +} +``` diff --git a/notes/pics/trapping-rain-water.png b/notes/pics/trapping-rain-water.png new file mode 100644 index 0000000000000000000000000000000000000000..4aa666abd411619a8cfa988301b122931507430f GIT binary patch literal 65548 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%0DWdvZWwnVzA* zXoc&>s7ik2?SJaoU4QruMLv7zJ!)3 z`|U5FjM4H}>%iNl(JsK~{QkRAQcTPRAJsYnW;Zm%wz$OHWrWMKvJ_r>1BVn|3Vr)g zWfw{k>L-5?WLnKl8sx1K05>|>>MtjM#B(j{yF=>18C?&R@a~3(MdLy>*oZSmoJR)i zU-W5yl6wS0Z9jY<*pSNRnaAX=!PRfPi2E6-f6n@Fn556Kw-s&bGmr7;?h|N(zc-f6$PI zu^21z3>IH8CZ=zBdE5^k+{$K7c-CF=K=DI2mORVVKBs5l@o)V%hrO(!ANxW6`Op!F zoA(6i36ff8=C=;(v8q?;Pw9XXx&|m-M5O%34==bd;A8*;TQ z(2%l7>XTU=v<^?~wl!8;5o93`G3$mNN=-#2H|7Pp!Ce|F*uK5{_rcBh^Z9g>L2O3l zlow%sX}QC&t*x!X;YLtU(4srKw|8^6;Y=?v-Yr1Ctf9e-O1^CLb9{V@FeY-u74m;K zS8d1 z7#ZacB#;dPO3r#4!4$zme`o0jm1+y0%RXL(%!#_PIx5V*Q|EHwC z=ZAbWxOp`>fuhRb&Q5Lgk3J5uU%vzwdm|H{IX#gJNxoPd!x*y2%EopI+2}dCQ12H9 z(A!1D#FD$`p*z!F5kK3W31-;ht*5(u90}#`-AaKw11rytSYJmcy&&T{E>0{f@HwpP z?C@lv?LK1s+G(%zlyph~w#P+e4KSq;?CW-7l)MjU!zLk&w+pP-hmg043TMo`OhANi za#qGK%F^CzN1ebZ;dd|-99{~A`y!ySDk)s>V^`*nB$(TJB)3&Z#QZ03TRHA7532U& zT)FklL!xyghDGr!hym;M20xY|ba4?>JP;_Z-MXG?@4R6zTa)MI=#t{KoD0Zr0Vt4` ztOFQ(V4Z^C0hU;(Llv>S(E1a1^FUBvMk_?w)*exM8&be4O_d>rM#k?{_dpA|dC;Tmx3{tNj& ztq~_I78_tf?B{+Tu`oZs<=&_tGC(N!BXZZP&hCCjfy7TjW<*Z^5*YXJu3dvZREn=9 z-@xw37orH3LKq4l{{adm{MUEE!N9jbasv+BUjv70#~Kx3e?=)SKX-#@%$83)$qSd6 z{~7m2=6>lwm5lI47`WV4377Oh5tFa+pv!WxceW@b@y z-~Ih@Zr`G%Jp!l`J~RST4t&M0=IQ-oa!MVNS0QpYZr&`TQJuPdy<~K0|2Y0yHHIkJ z`xgQAAMIF`kJ$U?X`Hjay^qJyw)!tkfb`u)pP!3&H5`+>IFT1mU8 zC(XVh0gclT@eBS?Ft%e-=T+WocN+=@Vf4f81(4)0_jm@;*9>v$sd#!G!rmXDVD;h! z*UfP;gvd2Kypqd3t~Rff4^IkG=7Yb)-U~o$tf1c6H?ug{% zW{-Qz@I`$ASrfDL)v+_!OYmg~zC<=&K%-@;0dGQy=N3&6ByzNMbS$Xzc9>;CFEdzw zl__Gu#s;5(?+g?`W)BYsRq;=M0~*b(tkPR7xp;Vf(QV@Cet5ZF>N3*=9C&?w{Y6~% z{;RaiOg1jA7ZABB$+39#7m0I|0F%KPsauhv+ac?_`m4eb43{BI(6E5Xem4MaYxn(0 zcWKy*^DL|Zx{YULORaj5SLlQ5*BqQV8iA1I(}WyK;}Fb$Jvz*hX`?5Fv7(mRq6O>PXJ4!hb- z%3`7>8gq|WY8?F1*y4uB03Lw-<@WJ=9Wa;FMdnvKqou6PEv;nB8LI#~0)u|hLJzkW zl2x-(&vvpqIiT26AHEr~7Gk=6vw{Et`dI>>QQRt-^PD~K?}YxEfVKis;ReEJ=XbW9 z8Xp?AaK`B44!=?=l~f$*=olW%qoSg6VRq)!?zR>>-3XTUzL4XLj6ge?h5GqI|4aMX zvm;=Q5#TT=gO^g3Zjg^!qbT+apHPeCWMyTQQ?>^KnMrXv z5yet^RO$r()p+MlD(RCD_BSA4x3g>VAM0%wFycSWzcJ<5JH9sa4InF!$-Of!9(AVS zZ=O&-66GRQ+%y=-7%+$D1&g84+yE|q)bXh=eZejGEp7jnR#tv@cgq*PMR{1GI8Go> zIf1>NP^|w)swza0A50X2DFj9C9L(& z%Bu_IeXwCsIsOo6CD=#_#%ul&z{C!BrW{hZRW24!pHiRmoh-n;gSiu`8|0EzBpN!7 zheUS2=gGmVfX1IuIi`ouL*c<~FZA?ubZGffXi<^gz7LE+W&Lg;&_>Oz8;bx;Kq-Xj zt73sWIfY#IJDD&IkwAoeZceY=fckbP6Q+{%QBR4R&UGF*{p!CeEjtIKNM^6#_wIv(`?J2Cxla>Q z0!Bq)1|SHakKzy!c`bVi(O5rBXFP;J`}(v!5cBi%NviBN-a=el9ji#5ZJV@w$iH~b z|Gw2qBUi9@k8!YN#-$zQ4V?ud296HQ7R{EW%_&upH`_X7Fs#y*9-QzmF^Csk3R%UB zpbLjwpGC?P+$F=e6Jer|@%*g0tGSb50e)AcigAVK9${E?F-~>6PhVE;;rL5dCod)n zHxY2?ibacb7VS3vfhBHABxDzTBgZQXz21PpD8suJd-|Hgx$toi1mw5031ly{;?JK~ z5Y{Vp_zj}~i_<3r{;FjJ{vo6g1_wxoE8|i#36T=~lSg~z z-h@H2P@ks7H`zwRZr*)*^-}L^Sm&(6FnH-T;|H*=B!LSGl7t78jL|^Q#i4L|f^ljA z32bb*Kzgu`)58O{yAL0%%AcM3N*82Q56Qy26z|jLO1xgy6`%oTTp^U*nIOlz5msiP z(&pVtnYYYA47o!bLF+=>cyCT@E(SxEQ8c>P`>qz%=4R8g5P6w%AYBtC>v3dLB(Fq- zg%ol}7u&|K-BVi~fm~Lo@BE!SYLx2A-EBB8i%_3VR zMMNAdbBJmHyx;>y5VW4K2FxM6 zMH(1>ExB)BTP)wcgVhGl7%CMe2ml-2-V@oE^tvT?zzGdZqN0L=D!Y!XEKI~N9UX7e z(W$7ZeYy8M616`K5kzf)67&mb>c1lS{WBy?P z4G-y~I;``Gic)m(GG~TZbu4n5clm3c;o`gqCM@Q?8OW|{;^8g$`6`M6nt)oioq~de@i4Xp!M_)whXW)p~(LDsNkpPI=jpk(oJ zXcM{37_6LaZRcV3NrsIU<}wM1cuQ6hk@$TTx!kGgX>)_;>kw9Vd49QOat%?V1TncM?IU4mR8m}HbDJ-xZsD5xYX3B1^uT_kAUhw^F6a)$#d9&pTRz^ z*5=ZcC1!JS6ODV%Sb#>CcGThvRmD0hg=elA8C)P4zU0e*+u?|qyf0iF(VCOoBRkEi zH?Idx=P80X60)QLkEGWQVp0>AY+_=^>)bpk%@u$`9}5anCIF7Unx^~00SPUZYTDAv4TY@KN_tI}dJ{0Yo-2j=&=v^vx6Eqtm4 zTKD$%A@2B$m)b_nD#MxT^eQGt?kLcaS-*P3%(bcbch=)TGDB@|whYw7%$wygNgkV* z5a?(Qe?*3xvec%(F(D!0c#DakNrGCB)o|2YiAp}BXPVKPDRkk5Eihba{}_R$>g?`b zg(kMN#Kp<^sL&j|mM~8=1$0JhK!y>pf#)IoK8tE;Q? zZD@eKTJWi{aY49&`ax1m5|J62BYacMd4mT{FVjB!$N*#hl4^)o*QV(YWtbM%TUsxn zXP_i^|K!tli=XxvC;3O*5yU z;P)yLZU#6xvhwmm#{=`cFidvMH8EYN39vmQs=)!&_uM8=!33sCM78-4GrlZbN0Q!O z{_*n~q>kl_|3rw1Ewe92PM&-i@00~BDu~B-j(x^It zt6-5)Ce*R)#Qla|S4_uWaZ(_kfKewtP^-^g={l@)GG28$6$tp~wg5;3%gRTQRoA#@ zS{L;2Yw1|UO}d8w$WpX%yr(l@_s z6kwZ?$&tytX`k^tZzrWsEqNIat|+9+Op7TB?_6QYB=<9emd2BsOmNeW4^v&knA9pt zqI0w>80ORkKu3WU=~M}495gitnP3}Rjs5~;0^w>`;_dEk6-8)5P@k zj?{3$lv9o_RL=rf;JF*9=P2?97{&UvBO-8<-;+1NOT5{XglHpjA~kpEVO2t)M=|#s zm@bkronF^5&B6Z!!nM|NX7Bq4D=Ru(Yy%Ssy+n15<>_SHSD=*(%?L(v1q7ZXj!k$V ze?@+2-k}I|X-g643%NaOF3`SD^ZiTG{~mHn%R6yi%4j*3E`&juu+2XY z7bLN2)C|`I8bb$2Z+8$vQ4=G~gGAWy*qRIFs$#4yZ5*SWtrhNm{<#A>Nw@92iyQ*J ze~VQqvFO9m!8uNwKk@c_Ep#e!_H!!sus4r8u(IIG#%7H28Ma^jwWL4Mq@8GTZZHKrjKUSL?W{)g|1J`k s&EIiGi8t!|NX&AOw&bCt?-QHOui2C8pKWkSU%L1x$*ap1$(sBBAGYsqO#lD@ literal 0 HcmV?d00001 diff --git a/tools/diagram/src/trapping-rain-water.svg b/tools/diagram/src/trapping-rain-water.svg new file mode 100644 index 00000000..6c6614d9 --- /dev/null +++ b/tools/diagram/src/trapping-rain-water.svg @@ -0,0 +1,67 @@ + + + + + + + + + + + + + + + + 接雨水 + 0 + + 1 + + 2 + + 3 + + + 4 + + 5 + + + 6 + + 7 + + 8 + + + 9 + + 10 + + 11 + + + leftMax = 2 + rightMax = 3 + + 位置 5 存水 min(2, 3) - 0 = 2 + 灰色为柱子,浅蓝色为积水,总共 6 +