【 NO.1 使数组中所有元素都等于零】
7 K, u, v: W8 D; y: O 解题思路 答案即不同元素的个数。 代码展示 & N/ Y; `6 ^9 a
【 NO.2 分组的最大数量】3 K1 U% B% @1 d! W, k1 a4 r7 [
解题思路 排序后,第 1 个学生自己一组,然后 2 个学生一组,然后 3 个学生一组... 即第 i 组有 i 个学生。 等差数列求和,(i + 1) * i / 2 <= n, 解方程即可。 代码展示
【 NO.3 找到离给定两个节点最近的节点】
5 ?2 K. D3 A" C+ C 解题思路 用 BFS 求最短路即可。 代码展示
" ^5 D2 O3 \2 d+ u6 R) o
( e* X1 G" U: V0 |( P+ Q2 y+ w【 NO.4 图中的最长环】, T4 I2 c9 {0 B; P N
. L1 S0 o: m2 x/ u- N, A
解题思路 类似 Tarjan 缩点算法,利用时间戳找环。 每访问一个新的点,时间戳自增,然后尝试从这个节点出发,观察它能访问到的历史时间戳,做减法得到环的长度。 代码展示
+ C9 A/ i- Z: l8 M2 K( s, M. O/ D9 s' [7 N+ a! J5 @
|