Ash*_*Ash -1 algorithm excel vba excel-vba
我有一个8 int,4 positive和4 negative的数组.
X [10,-2,30,-4,5,-20,8,-9]
Run Code Online (Sandbox Code Playgroud)
现在,让我们
Evaluated = a-b+c-d+e-f+g-h
Run Code Online (Sandbox Code Playgroud)
其中a,b..h是从X获取的唯一值.我需要确保这一点
案例1.评估=最接近零.
案例2.通过解决Evaluated来列出最大的可能性.我可以通过对数组进行排序并将最大值分配给a,c,e和g以及最小值b,d,f和h来找到最大值.但如何找到接下来的4个值?
有8个!解决这个等式的方法对吗?
确定此解决方案的最佳方法是什么?
确保负值为正号,正值为负号.您将获得尽可能小的价值.你甚至不需要排序.
一个简单的做法是......
Loop Each Element of X
if X[i] > 0 Then X[i] = -1 * X[i]
End Loop
Add all elements of X (yes just don't think about subtracting, just add)
Run Code Online (Sandbox Code Playgroud)
结果总和是可能的最小值.