backtracking相关内容

查找和打印x1 + x2 + x3 = num的解决方案数量

我需要编写一个 recusive 函数,该函数获取整数 num 并返回方程式的解数: x1 + x2 + x3 = num ,其中 x1,x2,x3 是1到10之间的数字,该方法应打印所有解决方案. 例如,如果 num = 3 ,则该方法将打印 1 + 1 + 1 并返回 1 . 如果 num = 5 ,该方法将返回 6 并打印: 1 +1 + 31 + 2 + 21 + 3 + ..
发布时间:2021-04-14 19:07:37 Java开发

跟踪应用的运行时间iOS

有没有一种方法可以知道前台的应用程序已运行了多长时间?我想到了三种可能的解决方案: I.使用电池消耗率和电池消耗率(iOS 8及更高版本会告诉您该应用程序的电池使用率,但电池消耗率将难以处理) II.使用系统进程监视器 III.使用Apple的诊断日志.这种方法相当“后门".另外,我不确定Apple是否允许我们使用这些信息. 有人可以告诉我上述解决方案是否现实吗?如果不是, ..
发布时间:2021-04-14 19:07:31 移动开发

递归回溯算法,用于解决分区问题

嘿,我正在寻找某种帮助,以找到一种将正数数组划分为k个部分的算法,以便每个部分(大约)具有相同的总和...假设我们拥有 1,2,3,4,5,6,7,8,9 en k = 3此算法应该像这样1,2,3,4,5 | 6,7 | 8,9对其进行分区元素的顺序无法更改...找到贪婪算法很容易,但是我正在寻找一个总是返回最佳解决方案的回溯版本... Annyone有任何提示吗? 解决方案 ..

使用回溯的Python排列

我只是想尝试使用回溯来学习排列.我已经编写了以下代码,但是在第一次输出后会停止. def permutations(str_in, soFar): if len(str_in) != 0: for c in str_in: soFar.append(c) temp_str = str_in te ..
发布时间:2020-09-18 05:48:42 Python

钉接龙回溯无限循环

我正在用Java回溯制作钉式单人纸牌解析器. 这是我做过的方法: private void solve(Board board, ArrayList solution, Boolean result) { ArrayList movs = board.getMovements(); for (Movement movement : ..
发布时间:2020-09-18 05:47:36 Java开发

为什么Prolog不回溯比较?

如果比较回溯,我希望以下内容始终正确,对吧?除非它陷入无限循环! ?- Y=2 , random:random(1,3,X), X =\= Y. Y = 2, X = 1. ?- Y=2 , random:random(1,3,X), X =\= Y. false. 但是我弄错了! 总的来说,我的问题是为什么比较不回溯? 感谢所有答案.我的困惑似乎主要来自于我对随机值 ..
发布时间:2020-09-18 05:47:32 其他开发

回溯算法以创建“混乱"的算法.但不是随机数组

我已经编写了此回溯算法,以从10个项目的输入数组中制作出一个由70个项目组成的混乱数组.它需要遵循的规则是: 每5个一组中没有重复的项目 在5个连续的3组中,没有一个项目出现在同一位置 每个项目总共出现7次 这几乎可行,但前提是我使输入数组大于输出数组,这会破坏规则3.如果我使输入数组的长度为70,则算法有时会起作用,但有时会溢出. ..
发布时间:2020-09-18 05:47:28 前端开发

通过回溯找到所有合计n的子集

我想找到所有通过回溯求和n的整数子集 例如整数: 1 2 3 4 5 6 7 并且n = 7 我要输出 1 2 4 1 6 2 5 3 4 7 我认为我应该将要评估的整数数组中的位置作为参数传递,但是我仍然坚持编写其余的逻辑. 到目前为止,我的代码: import java.io.BufferedReader; import java.io.IOExc ..
发布时间:2020-09-18 05:47:24 Java开发

如何在Prolog中使用回溯来无限增加变量

我目前正在阅读一本Prolog书籍,并且被困在其中一项挑战练习中.我打算用一个参数创建一个谓词.当此参数为变量时,它将返回以下内容并进行回溯,并且X将继续无限制地递增. X = 0,X = 1,X = 2,X = 3,X = ... 我做了一个简单的谓词,在该谓词下回溯了0-2,但我想不出一种使它无限继续的方法. backtracking_exercise(X) :- X ..
发布时间:2020-09-18 05:47:21 其他开发

延迟递归回溯Java

我发现了这个数独解算器,它在尝试解决难题时会使用回溯,为了更好地理解,我想延迟此过程,以便分析回溯.但是我真的不知道该怎么做.我尝试使用Thread.sleep(100);,但我真的不知道确切在哪里放置延迟. abstract class SudoKiller { private SudokuBoard sb; // Puzzle to solve; public S ..
发布时间:2020-09-18 05:47:19 Java开发

使用Regex解析C样式注释,避免回溯

我想匹配JavaScript文件中的所有块和多行注释(这些是C样式注释).我有一个运作良好的模式.但是,它会产生一些回溯,从而大大降低速度,尤其是在较大的文件上. 模式:\/\*(?:.|[\r\n])*?\*\/|(?:\/\/.*) 示例: https://www.regex101.com/r/pR6eH6/2 如何避免回溯? 解决方案 由于交替,您的回溯很重.您可以 ..
发布时间:2020-09-18 05:46:07 前端开发

为什么我的谓词不回溯?

我不明白为什么我的谓词不回溯并找到所有解决方案. person(john). person(erik). allExceptSpider(person(Spider),T ):- setof(person(X),person(X),S), subtract(S,[person(Spider) ],T). 如果我用两个变量来调用该谓词: allExceptSpide ..
发布时间:2020-09-18 05:46:06 其他开发

计算变化的Baktracking功能超出了最大递归深度

我正在尝试编写一个函数,该函数查找产生指定数量的硬币的所有可能组合,例如,它计算从面额1p,2p,5p清单中更改2英镑的所有可能方式,10p,20p,50p,1磅,2磅.我对此一无所知,找不到正确的解决方案. 我希望main函数是递归的,因为我想更好地理解递归.该算法必须回溯,如果某个时候发现的组合超过了要匹配的数量,则程序应返回到先前的步骤并从不同的点开始. 到目前为止,我已经编写了 ..
发布时间:2020-09-18 05:45:04 Python

打印n元树python的所有路径

我想在python的N元树中打印从根到叶节点的所有路径.我有一个想法可以在二叉树中打印出来,但是在N-ary中这样做并不能给我正确的结果. 我在这里弹出并访问子节点列表中的每个节点,但不确定如何分别打印每个叶节点的路径. class createnode: def __init__(self,val): self.data=val self.child=[] def t ..
发布时间:2020-09-18 05:44:01 Python