【 NO.1 使数组中所有元素都等于零】) K- K0 |/ z: f, h# H y1 H$ u) z
解题思路 答案即不同元素的个数。 代码展示 ) K5 _7 l& N6 O8 i
【 NO.2 分组的最大数量】
9 i9 F$ T5 H. Z, R; P8 y. q4 v 解题思路 排序后,第 1 个学生自己一组,然后 2 个学生一组,然后 3 个学生一组... 即第 i 组有 i 个学生。 等差数列求和,(i + 1) * i / 2 <= n, 解方程即可。 代码展示
【 NO.3 找到离给定两个节点最近的节点】
8 M1 J% P8 g, J1 ` 解题思路 用 BFS 求最短路即可。 代码展示
& ]5 P3 e7 B0 e; [9 B$ ]3 k' w# ~5 L; U
【 NO.4 图中的最长环】
2 J& f. Q; V- J
! Q( d1 \1 ^, E' F解题思路 类似 Tarjan 缩点算法,利用时间戳找环。 每访问一个新的点,时间戳自增,然后尝试从这个节点出发,观察它能访问到的历史时间戳,做减法得到环的长度。 代码展示
3 H" C, Q% x' l; l* g5 t
5 Z( K: V4 {; k, R& k) u |