问题标签 [shortest]

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 投票
1 回答
109 浏览

arrays - 在具有所有唯一值的数组中搜索最短切片,如何以最佳方式执行此操作?

我有一个包含 N 个元素的数组,这些元素的值在 0 <= value < N 范围内,并且可以是不连续的。对于这个数组,我需要找到一个包含所有唯一值的切片,同时它将是满足上述标准的最短切片。

例如,对于具有 5 个唯一值 {1, 2, 3, 4, 8} 的数组 {1, 2, 1, 2, 1, 4, 3, 4, 8, 1, 8},我们正在讨论切片 {2 , 1, 4, 3, 4, 8} 长度为 6。

有没有最佳的方法来做到这一点?至于现在,我的实现过于复杂(嵌套循环)。我试图想出一个算法来以最佳方式做到这一点,但遗憾的是无济于事。至于现在,我试图想出一些东西,在遍历数组时利用每个唯一值的出现,但我的想法仍然不够清晰。欢迎任何想法,这个问题困扰了我很长时间。:) 先感谢您。

此致

0 投票
1 回答
249 浏览

algorithm - 最短路径距离 -> 如何处理负权重?

我有顶点 V={s,u,v,x} 以及边 E={(s,u),(s,x),(s,v),(u,v),(v,x) ,(x,u)) 以及以下权重:

现在我正在执行 Initialize(G,w,s) 以 s 为起点并初始化 sd = 0。我需要 u,v,x 的最短路径距离。由于它们都连接到s,我可以只使用W(s,u),W(s,v),W(s,x)的权重。但是 xd 将是-1。这甚至适用吗?我现在可以使用这个距离来正确执行 Relax(s,x,w) 并获得正确的输出吗?

提前致谢

0 投票
0 回答
1493 浏览

python-3.x - python 3的K最短路径算法

我尝试了一个可用的 K 最短路径算法。但它给出了一个错误,我无法弄清楚它是什么。我想找到两个网络节点之间的两条最短路径。它给出了一个错误,说 int 类型不可迭代,我不知道如何解决它。

为什么会出现此错误?在某些情况下,它适用于 k=1,但是当我将 k 增加到 2 时,错误就来了。

0 投票
1 回答
43 浏览

java - 为什么在此特定代码中会出现 ArrayIndexOutOfBoundsException?

我在 Dijkstras 算法中有类似的东西,但我没有得到任何错误。我尝试用不同的值代替整数最大值和其他各种东西,但没有任何效果。我也搜索了这个网站和其他网站,但没有发现任何帮助。此外,如果它有所作为,我的图形类本身就是一个类。任何帮助,将不胜感激。我更新了我的问题......问题得到了回答。但我确实重新格式化以防万一其他人想看一下。

0 投票
2 回答
195 浏览

c++ - 我对“烂橙子”问题的解决方案给出了不正确的输出。我已经使用 BFS 实现了它

在给定的网格中,每个单元格可以具有以下三个值之一:

值 0 表示一个空单元格;值 1 代表新鲜的橙子;值 2 代表一个烂橘子。每分钟,与腐烂的橙子相邻(4 个方向)的任何新鲜橙子都会腐烂。

返回在没有单元格有新鲜橙色之前必须经过的最小分钟数。如果这是不可能的,则返回 -1。

输入:[[2,1,1],[1,1,0],[0,1,1]]

输出:3

预计:4

0 投票
0 回答
47 浏览

java - 优先队列的最短路径问题

我创建了一个程序,试图找到纽约火车站之间的最短路径。我有一个使用优先级队列的最短路径算法,但由于某种原因我的队列不起作用。autoAssLinks 函数是为我的哈希集创建链接的原因。这是我认为可能有问题的唯一地方。

0 投票
1 回答
411 浏览

c++ - 如何在无向图上修复有向图?

我无法正确更正代码,从而使图形无向。通过输入,通过条件,应该有一些顶点,边,然后是相邻顶点的列表及其权重

0 投票
1 回答
1334 浏览

java - 在数字迷宫中找到最短路径,Java

在数字迷宫中,玩家总是从左上角的方格开始,并做出一定数量的移动,如果存在解决方案,则将他/她带到标有目标的方格。迷宫中每个单元格中的值表示玩家必须从当前位置水平或垂直移动多远。我的任务是找出到标有“目标”的单元格的最短路径并打印出来。

输入迷宫是方形二维数组的形式。目标方格由迷宫描述中的数字 -1 表示。输出 对于迷宫,输出迷宫的解或短语“No Solution Possible”。解决方案应输出为格式为“(行,列)”的方坐标列表,按照从开始到目标的访问顺序,包括起始单元格。您将需要报告从开始到目标的最短解决方案。最短的解决方案将是唯一的。我尝试了一些解决方案,但我认为存在的问题是解决方案始终是我发现的第一条路径,而不是最短的..

对于此示例,输出应为:

但我有这个输出:

请帮助如何修复代码,以便解决方案成为最短路径?!

0 投票
1 回答
501 浏览

string - 在一串单词中找到最短的单词

我再次进行了一些 Code-Wars 挑战,我对这个特定的挑战有疑问:

任务:" 给定一串单词,返回最短单词的长度。

字符串永远不会为空,您不需要考虑不同的数据类型。”

我在 SO 上查找了可用的答案,并设法根据国外的想法自己创建了该程序。

问题是它仍然没有产生所需的输出。

我运行了代码,我认为问题出在变量上,并且我无法分配正确的代码部分。(尽管我可能错了)

所以在下面,我附上代码和测试。

希望大家都能找到问题的答案。

干杯

以下是测试:

试验结果:

ShortestTest findShort(比特币接管世界也许谁知道)应该返回 3

测试失败 1 不等于 3 堆栈跟踪在 45 毫秒内完成 findShort(结果随机测试用例比写出基本用例更容易)应该返回 3 测试失败

1 不等于 3 堆栈跟踪在 1 毫秒内完成 findShort(让我们谈谈 javascript 最好的语言)应该返回 3 测试失败 1 不等于 3 堆栈跟踪在 1 毫秒内完成 findShort(我想有一天环游世界写代码)应该返回 1 findShort(让所有人都去非常寒冷的地方度假)应该返回 2 测试失败

1 不等于 2 堆栈跟踪在 1 毫秒内完成 findShort(Steem Dogecoin 21inc Dash MadeSafeCoin) 应该返回 4 测试失败

1 不等于 4 堆栈跟踪在 1 毫秒内完成 findShort(Bitcoin Lisk) 应该返回 4 测试失败 1 不等于 4 堆栈跟踪在 1 毫秒内完成 findShort(ProofOfStake Ripple) 应该返回 6 测试失败

1 不等于 6 Stack Trace findShort(ProofOfWork Dogecoin BTC Classic Dash Ripple ProofOfWork) 应该返回 3 测试失败

1 不等于 3 堆栈跟踪在 1 毫秒内完成 findShort(LiteCoin Bitcoin LiteCoin Bitcoin Waves Waves Bitcoin Dash Ripple Ripple Ethereum Classic Factom LiteCoin Factom Waves Factom) 应该返回 4 测试失败

1 不等于 4 堆栈跟踪在 2 毫秒内完成 findShort(Bitcoin Waves MadeSafeCoin DarkCoin ProofOfStake Classic BTC) 应该返回 3 测试失败

1 不等于 3 堆栈跟踪在 1 毫秒内完成 findShort(ProofOfStake Waves Ethereum Ethereum Ripple LiteCoin Steem Classic LiteCoin Ripple ProofOfStake Steem Monero Dogecoin Factom) 应该返回 5 测试失败

0 投票
1 回答
99 浏览

c++ - 如何制作由原始图的最短路径边组成的新图?

几天前,我学习了 Dijkstra 算法,并想学习制作一个新的无向图,该图具有与原始图的最短路径边。

所以我所做的是对 Dijkstra 最短路径算法进行了简单的修改。

所以我在我的一些自定义测试用例上尝试了这段代码,但我不能完全确定这是正确的......如果你能告诉我这是对还是错,那就太好了?