碰到了一个关于元组的算法问题
请大家帮忙看看,能不能给个答案,或者解决思路也行.
谢谢!
三元组(a,b,c)标识a币种到b币种的汇率为c,反向亦成立。
输入一堆这样的三元组,再指定两个币种x y,问x->y的汇率是多少?
请编程实现,并给出时间、空间复杂度。
注意:x->y的汇率是唯一的。
Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
如果是提供三元组数组,生成一个计算 x->y 汇率的方式的最优解: 有向图最短路径算法
如果是每次提供不同的三元组数组,只需要获取一个结果就好: 有向图寻路算法
元组可以作为 dict 的 key
上面的有些算法写得好复杂,写个简单的:
测试结果如下:
这里利用的是币种名字的唯一性,两个币种拼接在一起必然也是唯一的。