如何使用C#证明循环模式存在于一系列数字或字符中

本文关键字:数字 一系列 字符 存在 何使用 证明 循环 模式 | 更新日期: 2023-09-27 18:00:08

这就是我试图解决的问题。我有一系列类似的数字

    1 -> 2
    2 -> 3
    3 -> 4
    4 -> 2
    2 -> 1

我需要写一个程序来证明如果这些数字是图上的点,它们就会形成某种循环。在上面的例子中,1->2->3->4->2形成一个循环。

在以下示例中,没有循环。

    1 -> 2
    2 -> 3
    3 -> 4
    3 -> 5

不明白这怎么是重复的。如果我的问题不清楚,很抱歉。我正在尽力描述它。我有一组点/数字/节点。他们是成对的,他们也有方向。例如,一对数字是1->22->31->23->44->22->13->4

当这些单独的节点从上到下连接时,我将获得如下链接列表1->2->3->1->2->3->4->2->1->3->4atr

我不想在这组数字中寻找重复的模式。试图找到像1->2->3->1这样的闭环是一个循环。2->3->1->2是一个循环。3->1->2->3、2->3->4->2、3->4->2->1->3等。在这个wiki链接中,有一个循环是1。6->3->1http://upload.wikimedia.org/wikipedia/commons/thumb/d/d7/Functional_graph.svg/240px-Functional_graph.svg.png

希望这能让问题变得清楚!

如何使用C#证明循环模式存在于一系列数字或字符中

一个非常简单的方法可以是将这两个数字添加为哈希表中的键值对:

一旦您处于键已存在的情况,抛出错误或ContainsValue条件为true,您就发现了一个循环。