File tree Expand file tree Collapse file tree 1 file changed +2
-4
lines changed Expand file tree Collapse file tree 1 file changed +2
-4
lines changed Original file line number Diff line number Diff line change @@ -51,11 +51,9 @@ https://leetcode-cn.com/problems/self-crossing/
51
51
52
52
## 思路
53
53
54
- 符合直觉的做法是$O(N)$时间和空间复杂度的算法 。这种算法非常简单,但是题目要求我们使用空间复杂度为 $O(1)$的做法 。
54
+ 符合直觉的做法是$O(N)$时间和$O(B)$空间复杂度的算法,其中 B 为障碍物的个数,也就是行走过程中经过的坐标点的个数 。这种算法非常简单,关于空间复杂度为 $O(N)$的算法可以参考我之前的 [ 874.walking-robot-simulation ] ( https://github.com/azl397985856/leetcode/blob/be15d243a3b93d7efa731d0589a54a63cbff61ae/problems/874.walking-robot-simulation.md ) 。 思路基本是类似,只不过 obstacles(障碍物)不是固定的,而是我们不断遍历的时候动态生成的,我们每遇到一个点,就将其标记为 obstacle。随着算法的进行,我们的 obstacles 逐渐增大,最终会增加到 $O(B)$ 。
55
55
56
- 关于空间复杂度为$O(N)$的算法可以参考我之前的[ 874.walking-robot-simulation] ( https://github.com/azl397985856/leetcode/blob/be15d243a3b93d7efa731d0589a54a63cbff61ae/problems/874.walking-robot-simulation.md ) 。 思路基本是类似,只不过 obstacles(障碍物)不是固定的,而是我们不断遍历的时候动态生成的,我们每遇到一个点,就将其标记为 obstacle。随着算法的进行,我们的 obstacles 逐渐增大,最终和 N 一个量级。
57
-
58
- 我们考虑进行优化。我们仔细观察发现,如果想让其不相交,从大的范围来看只有两种情况:
56
+ 但是题目要求我们使用空间复杂度为$O(1)$的做法。我们考虑进行优化。我们仔细观察发现,如果想让其不相交,从大的范围来看只有两种情况:
59
57
60
58
1 . 我们画的圈不断增大。
61
59
2 . 我们画的圈不断减少。
You can’t perform that action at this time.
0 commit comments