我编写的一个小应用程序允许用户将各种项目添加到两个数组中。一些逻辑根据每个数组的内容计算一个数字。
数组 x 中的任何项目都可以放入数组 y 中,然后再放回去。属于数组 y 的项永远不能移动(除非它们是从数组 x 中移动的)。
用户可以使用简单的 javascript ui 在两个列表中移动这些项目。为了让事情更简单,我最初制作了一个简单的脚本:
- 将项目从 a 移动到 y。
- 使用这种“可能性”执行了一些逻辑
- 如果结果小于以前,则将 x 留在 y 中。
- 如果不是,则 x 保留在 x 中。
- 移动到 x 中的下一项并重复。
我知道这是无效的。我已经阅读并被告知使用按位数学来记住可能性或“排列”,但在这个阶段我正在努力解决这个特定问题。
如果有人能够解释(伪代码很好)什么是实现以下目标的最佳方法,我将不胜感激。
数组 x = [100,200,300,400,500] 数组 y = [50,150,350,900]
使用这两个数组,对于来自 x 的每个值,将该值和来自 x 的所有其他值的每个组合推入数组 y。对于每一个,我将执行一些逻辑(即测试结果并将这个“排列”存储在一个数组中(一个代表 x 和 y 的两个数组的对象)。我预见这对于大型数组来说非常昂贵,可能会重复很多我觉得我快到了,但在最后阶段迷路了。
抱歉,解释太长了,在此先感谢!