上岸算法LeetCode Weekly Contest 304解题报告

【 NO.1 使数组中所有元素都等于零

解题思路

答案即不同元素的个数。

代码展示

【 NO.2 分组的最大数量】

解题思路

排序后,第 1 个学生自己一组,然后 2 个学生一组,然后 3 个学生一组… 即第 i 组有 i 个学生。

等差数列求和,(i + 1) * i / 2 <= n, 解方程即可。

代码展示

7月312

【 NO.3 找到离给定两个节点最近的节点】

解题思路

用 BFS 求最短路即可。

代码展示

【 NO.4 图中的最长环】

解题思路

类似 Tarjan 缩点算法,利用时间戳找环。

每访问一个新的点,时间戳自增,然后尝试从这个节点出发,观察它能访问到的历史时间戳,做减法得到环的长度。

代码展示