1
1
Haskell编程,第11章:倒计时问题 |
2
4
暴力听起来是一种有效的方法。但是暴力是一种不知情的搜索……当你到达搜索树中的一个分支时,它并不能让你有根据地猜测该走哪条路。 你可能想调查的是 heuristic functions 见多识广的 . 一个启发式函数会观察一个状态,并估计你离目标有多远。如果你能找到一个有效的启发式函数,你可以应用如下算法 A* .
|
3
1
我会问
|
4
0
我认为这是有道理的。 你可以利用乘法之间的对称性来进一步修剪你的树。a*b=b*a。 |
5
0
另一种解决方法是使用 genetic algorithms . 您的填充将以插入数组元素之间的随机运算符开始。
变异运算符可以简单地将一个运算符更改为另一个运算符,而交叉函数可以将表达式左侧的运算符与另一个表达式右侧的运算符组合在一起。
我不知道这和暴力相比会怎么样,但这是一个不同的解决方案,我想这会让你在采访中脱颖而出,因为每个人都能看到暴力的解决方案。
如果你只需要一个足够好的解决方案
|
6
0
如果是这样,一个简单的分支搜索不会终止,因为一元操作的使用次数没有先验限制。如果没有,一个天真的搜索可能会工作得很好。 这里有一个有趣的策略,如果不是一个有效的策略:为正在使用的算术请求或生成一个BNF语法。像这样违反规则 < 然后用这个语法来发展所有可能的表达,比如说,使用不到20个语法规则。对它们进行评估。它将被保证是有界的,并将生成所有在该语言中有效的“不太复杂”表达式。 |
Diret · 获取范围内每个数字的子倍数的算法 2 年前 |
Saif · 排序时python如何决定何时调用比较器? 2 年前 |
Wadu Hek · 查找列表中唯一的重复项 2 年前 |
Crawford Patten · 如何获得整数列表的四分位数 2 年前 |
MoonGoose · 如何在python中围绕特殊字符创建空间? 2 年前 |
taha khamis · 在一个数字中组合元素的省道 2 年前 |
Soup · 比O(n)更快地找到阶乘n模m 2 年前 |
BigO · 单词积分游戏不断增加数字[关闭] 2 年前 |