我需要进行货币对话。
假设您有一个货币金额的对象列表,而其他货币的价值。例如:
From To Value
USD-CAN 0,1
CAN-USD 0,4
USD-AUD 0.5
AUD-USD 0,6
AUD-EUR 1
EUR-AUD 3
您需要将货币货币的值列表转换为EUR,例如
1,22 USD
1,4 CAN
5 AUD
他的转换直接(AUD-EUR)有一些价值,但另一些不是(USD-EUR,CAN-EUR)。
告诉它最好的方法或算法来做到这一点..?
答案 0 :(得分:2)
构建有向图,其中节点是货币,边是直接转换。查找从源货币到目标货币的最短路径。
您可以将边缘权重设置为 log (转换率)以找到最佳转换路径(记录添加权重而不是相乘)。
您甚至可以尝试检测2-point arbitrage,3-point arbitrage(例如,查看here)或n点套利(查看here)。