问题标签 [floyd-cycle-finding]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
44 浏览

c++ - 为什么在 Floyd 的循环检测算法中,如果我们将 fast 作为 head.next,那么解决方案就会出错?

所以我在解决 leetcode 的问题,我们必须返回尾部连接的节点,但是当我取时解决方案出错了fast = head->next,当我取fast = head. 我明白后者是如何正确的,但我不太明白为什么?

示例: 输入:head = [3,2,0,-4], pos = 1 输出:tail 连接到节点索引 1

错误代码

正确的代码

0 投票
1 回答
152 浏览

artificial-intelligence - 了解 AI 中的折线

在使用计算机显示器时,会使用折线。您想使用一种算法来减少折线中的点。多段线应在指定的容差内抽取。您会使用以下哪种算法?

A) 洪水填充算法

B) 李算法

C) 弗洛伊德循环检测算法

D) 顶点减少

0 投票
3 回答
65 浏览

java - 在链表中查找循环

我目前正在使用 Floyd 的循环查找算法来解决一个要求我检测单链表是否包含循环的问题。我了解Tortoise and Hare方法,但对其实现有些困惑。有几篇关于这个算法的帖子,但从来没有针对这个问题的这个方面。

我的代码中唯一的错误是在我的while循环条件下,我应该有

代替..

但是,后一种 while 循环条件对我来说更有意义。我承认正确的实现只是评估特定节点是否存在,以及该节点是否有后继节点。但是,如果我们只是检查while(fast != null)- 这还不够吗?毕竟,如果fast = null,为什么还要检查fast.next呢?会不会fast = null 存在一个循环存在的情况?没有权利?判断我们是否已经到达链表末尾的标准实现是:while(current != null)- 为什么我们不能在这里这样做?

提前致谢。

0 投票
0 回答
7 浏览

sorting - 在排序链接列表问题中,我在初始化 fast=head 时遇到运行时错误,并且在我初始化 fast=head->next 时运行良好

在有关 leetcode 的排序链接列表问题中,当我初始化 fast=head 时出现运行时错误,而当我初始化 fast=head->next 时它运行良好。背后的原因是什么?谁能解释一下。