gpt4 book ai didi

java - 数独时间不规则

转载 作者:搜寻专家 更新时间:2023-11-01 03:06:12 25 4
gpt4 key购买 nike

我使用强力递归编写了一个数独解谜器。现在,我想看看解决 10 个相似类型的谜题需要多长时间。所以,我制作了一个名为 easy 的文件夹,并在文件夹中放置了 10 个“easy”拼图。当我第一次运行求解器时,可能需要 171 毫秒,第二次需要 37 毫秒,第三次运行需要 16 毫秒。为什么要在不同的时间重新解决完全相同的问题?时间不应该一致吗?

第二个问题是它只显示最后解决的谜题,即使我告诉它在加载谜题后重新绘制屏幕并在解决它后重新绘制屏幕。如果我只加载一个拼图而不解决它,它将显示初始拼图状态。如果我随后调用 Solve 方法,最终的解决方案将绘制在屏幕上。这是我解决多个难题的方法。

void LoadFolderAndSolve() throws FileNotFoundException {

String folderName = JOptionPane.showInputDialog("Enter folder name");
long startTime = System.currentTimeMillis();

for (int i = 1; i < 11; i++) {
String fileName = folderName + "/puzzle" + i + ".txt";
ReadPuzzle(filename); // this has a call to repaint to show the initial puzzle
SolvePuzzle(); // this has a call to repaint to show the solution
// If I put something to delay here, puzzle 1-9 is still not shown only 10.
}

long finishTime = System.currentTimeMillis();
long difference = finishTime - startTime;

System.out.println("Time in ms - " + difference);
}

最佳答案

第一次运行时,JVM 需要加载类、创建您正在使用的对象等——这需要更多时间。此外,JVM 总是需要时间“开始启动”,这就是为什么在分析时,通常会运行几千个循环并划分结果以获得更好的估计。

对于第二个问题,如果不看代码就不可能帮助你,但一个很好的猜测是你没有“刷新”数据。

关于java - 数独时间不规则,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21447476/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com