【 NO.1 字符串中最大的 3 位相同数字】 x: U/ w# w5 D9 c/ Z2 ~
R% j. [9 W7 v8 N* m+ e解题思路) g- r5 x' D7 U- V4 T
" o7 ^7 P9 T& D+ M; A; b8 g
枚举即可。
: E9 T6 E: p, S/ s! x
' U% e7 _. x. @2 }) z9 N2 n代码展示
4 G; [" R, m- @' f: |4 Y6 i
( m0 e4 v, Y+ f3 g ^5 X" a! W
2 ^6 G- z- Y0 ~. r- W【 NO.2 统计值等于子树平均值的节点数】2 [9 |. ?! c+ m( m+ W
$ K! S6 a+ T) j" t
解题思路+ F" H6 {: d' R3 M. {4 R
3 X; y0 M- C: d/ w7 G' I4 \一次递归遍历即可。7 _7 H; d+ \( v3 f3 e% {# p
9 t5 p. j) C' Y% ?
代码展示
0 Z" _8 Z1 ?! X
* F5 K) g$ z3 M, ], ~
% N4 O: n' H6 R【 NO.3 统计打字方案数】1 W5 s4 l* K; @7 t- u. F) R
8 T( B- N! [+ o' G解题思路$ F$ B* K% b" w$ i& }
- g; n! Z( \% T我们需要关心的是每一种按键连续按下了多少次。
5 I, K, L9 F9 j* A2 c; ^2 v2 u- K1 o8 C6 \
比如 “232323345” 这一输入,每种按键没有被连续按下过,所以代表的可能性只有 1 种。; z5 D- m) K: [! r( a
# X3 a3 }' r9 x6 H6 k1 J按键 2 被连续按下 2 次则有 2 种可能,被连续按下 3 次则有 4 种可能。
# o. O+ b/ g: D. g- N- o' N- H/ Z* |! ?! B8 H" B) ^
我们使用动态规划求出连续按 x 次有多少种可能,详见注释。
2 u9 x$ ~4 {3 [& L$ l) r' `7 k2 P0 K1 {
代码展示- @, Y# O# ]% v* Z0 t# C
6 L% t% ~& f6 r3 J S3 U- o5 M) E, b7 Y4 v& @% j1 c5 c
【 NO.4 检查是否有合法括号字符串路径】+ b0 [. A0 a- R1 I* c
6 }( f% o( @. \9 d- `# d) }解题思路2 I% Y$ ~0 s" h5 x. s: N+ }
$ B8 H4 F$ @- ?1 Z记忆化搜索即可。详见注释。+ n) C6 P9 t" w: q% Q0 V- F$ n4 v; T
2 x6 ?8 _1 B% i. Z% J
代码展示
1 s$ ~1 S! i6 T- W8 t$ X! {8 }
; ~2 X# _* Y! D
( Q3 n$ e: H; n" ?( g* h" r |