【 NO.1 字符串中最大的 3 位相同数字】* ]1 i: S* n( w V. C
, I; J* F+ L. a8 v解题思路
( t. e+ q7 E8 N1 u( ^! K, Q$ s3 g! a: a. g" t- u! F
枚举即可。& t# z4 V4 o0 J$ e4 d$ m: C4 R
. P) s! |; R6 c8 B9 m( c1 z0 V代码展示! z' l! Z* i$ @8 j/ W
" E T$ g; R& k& K& h
9 v0 z' R9 t p+ R7 e2 ~$ e
【 NO.2 统计值等于子树平均值的节点数】
- _1 |$ x6 i0 z% k7 L2 c9 r
& N& u* _" J( V* S* [# x. ?' g) K解题思路, v. y. d, M2 {. |$ R1 F9 S3 J
- k: V" G" e2 d0 { V
一次递归遍历即可。
$ l b& u8 e7 a0 r6 p
2 a$ F c2 z" e代码展示
" o; H1 V8 @$ M/ w, I9 Z
1 i, V& M* A& X7 B. H
, W" x1 f5 }; c7 d. Y【 NO.3 统计打字方案数】9 K% P: x$ f* n% W _& f
# V5 s* Y) j" A& s4 ~7 m解题思路' g P2 X* e; G; S
5 f$ J# L$ Q% | O1 X3 Q8 r我们需要关心的是每一种按键连续按下了多少次。
: j8 |) R( ^; H) z4 V8 P( N6 r) B. y5 S' X
比如 “232323345” 这一输入,每种按键没有被连续按下过,所以代表的可能性只有 1 种。
* i$ k" t* W2 e& n0 R+ p$ h3 w9 c6 W& ], _+ c8 N
按键 2 被连续按下 2 次则有 2 种可能,被连续按下 3 次则有 4 种可能。
7 W% P4 v/ s' j9 a7 S, F1 m4 o0 h1 q5 ^9 N; [* N8 I9 y/ t" J q
我们使用动态规划求出连续按 x 次有多少种可能,详见注释。
! M7 ~# J8 S3 q# G5 k% }- Z0 {, |, V! d+ A/ ~: a4 w( K4 M8 c) A
代码展示8 o' F; Y4 o2 [0 ]( e; ` S4 a2 q4 [/ ]
# z( U# c# N, s" W
& L* ^8 N4 R0 d3 h3 }! ?6 z【 NO.4 检查是否有合法括号字符串路径】# O6 l3 V G% s1 Z
x# s" s% ?" B. i. N Y解题思路2 q9 n. {/ f0 p5 Z
. b6 O; a7 e, x2 C3 i( A记忆化搜索即可。详见注释。
( H# {% R u2 d/ ^7 F. a. u0 }* Y! k! c# i. A
代码展示
j( ~7 ?5 B+ ?- Q/ K8 ?$ c3 r( Z4 W# A' G
: ?: t- \4 b9 y
|