【 NO.1 字符串中最大的 3 位相同数字】
7 b& C2 N8 E& s& d' q$ ?$ o/ t) H7 Q% J' F* u3 b% F
解题思路
8 M9 q3 H' E1 S+ @2 b
4 I$ b. b5 X6 q- |- C, H枚举即可。
3 w9 M/ b# i: L7 X3 Q2 [8 \( M% L ~$ J. L- K8 k. M6 Y
代码展示
6 W$ }8 |2 i0 n; J9 q" a: S- g! z5 ]2 r# w
# U1 W7 k# Y/ ?/ _6 C! ^% D) H【 NO.2 统计值等于子树平均值的节点数】! `* J0 {% ]! ^0 v! y* t( G
0 ~1 I9 Z9 K9 X& `解题思路+ f7 h/ {: W) y# a
3 `3 `, j! z2 T- z9 r: T% V一次递归遍历即可。
3 F6 ~6 ^! `: m4 N4 Q
" v9 y: u2 Z1 v X( Z9 M6 w( i代码展示
) c) p; f9 E: x
3 j3 a: M; {$ L" ]& N ~
+ z1 _5 P5 h7 Y# S【 NO.3 统计打字方案数】2 x% R+ r" V5 n" O# k/ o/ W
# }: M) Z7 X4 G3 {解题思路& E+ L7 Y2 U# [/ j& X( L& J
- O Y5 O, p! ], p9 M0 i我们需要关心的是每一种按键连续按下了多少次。
" \6 k2 D# R# U8 A" p# n2 h1 P1 g; ^
比如 “232323345” 这一输入,每种按键没有被连续按下过,所以代表的可能性只有 1 种。
! I A$ h4 u! G0 t- ?. | k" t4 @. u, w* i, l, o+ M
按键 2 被连续按下 2 次则有 2 种可能,被连续按下 3 次则有 4 种可能。0 R6 d$ R( N2 [
. _ }+ o, k1 d5 t0 o
我们使用动态规划求出连续按 x 次有多少种可能,详见注释。
5 r/ i) K& B7 r; x: G; v/ a ]$ M% p$ V! p* D; Q# H
代码展示( D! i% l' b2 Y6 g
$ q3 T9 ?) A/ f
; ?1 K" T# P7 u5 A
【 NO.4 检查是否有合法括号字符串路径】
$ `; Z }: r7 d f n3 K2 F# ^8 z) @. v. q
解题思路
; Y( h O- q) g' P* {6 {- |, z( Q6 X! G7 l
记忆化搜索即可。详见注释。
# S- }' h' x- p; n
* m: c8 v! q6 q* o- W代码展示3 A2 X" A$ _. X$ o
2 F) J+ G+ y* F/ ~
, ^" F) S# U- ]8 L) f4 `/ W |