【 NO.1 字符串中最大的 3 位相同数字】
' }! e2 [1 C _6 Y
0 J1 |" b/ g! r# V# \! a. W解题思路$ K2 w- U0 C" o" N0 g! X
: S" Y& b# W+ d" b" M0 r4 c枚举即可。
6 e" u" _# f: Q l. g! C. o* A- \9 u1 o
代码展示; Q$ i; v7 j/ n3 b s# J
) u9 v3 i+ l- |/ M6 E) \
% j! ^) {; D& L7 J) V/ w" K5 ]$ _【 NO.2 统计值等于子树平均值的节点数】
$ q- c, W- \0 ]' _# P
3 a4 W$ {0 j! q$ c, u! H N解题思路1 h+ P/ ? E5 n$ z+ G
}* x+ a) O$ x9 g( E
一次递归遍历即可。
3 a) D' P" {& h, x% S( r, K3 @
. U) c R. @6 w+ p% z( h# Y2 W8 Z代码展示( o: }" x# x' ^% t, x! C
- K- d; g' _" [) ~2 m) @
' {+ k; `* w y2 C3 j7 x【 NO.3 统计打字方案数】
$ Y0 O& ?8 E7 O7 ~6 @
( V6 ]" T5 }; _: M: J" ^解题思路1 B5 i8 {* {2 ^0 I% F: L6 s
. t4 z+ |! ~! X B* ?3 l$ ]/ r我们需要关心的是每一种按键连续按下了多少次。
3 Z' i/ J' H$ _& ?' z6 V, b/ ~+ D8 }* F' y8 m' B
比如 “232323345” 这一输入,每种按键没有被连续按下过,所以代表的可能性只有 1 种。' O+ n# q1 l- Y* v* q4 L
- E* [2 u9 N# X' F7 [* V
按键 2 被连续按下 2 次则有 2 种可能,被连续按下 3 次则有 4 种可能。
! o5 @* `0 z0 @# |" B/ f% X: N2 V
h% q3 Y! b/ Z. |我们使用动态规划求出连续按 x 次有多少种可能,详见注释。
1 R7 G# y0 W, H
6 z) h+ Z/ `& g' N6 ]代码展示
& R* }3 v5 k" B, ?: w
- b; [9 J+ R; `3 A* z$ B8 W! X* @1 \
【 NO.4 检查是否有合法括号字符串路径】6 G, V& {3 ~: D* f& s) N/ ^$ c
. ^: s V0 ]4 n# a# \6 N解题思路+ J4 m* C2 G0 F6 @ G9 Q& R
: E9 S# J7 [- }0 W7 H* S* q
记忆化搜索即可。详见注释。, \& c) X& C" z1 s0 L; U/ w1 _
2 d9 c" \' Q9 i" H" @! k6 [. }
代码展示
- S4 R$ t7 z8 R1 Q5 D% O1 P2 S& P& n3 U
& K& Y$ n$ x; S+ h' t1 d$ z |