当前位置:   article > 正文

第十二届蓝桥杯D题python解答_请编写python代码,对appl公司股价数据进行下列操作:

请编写python代码,对appl公司股价数据进行下列操作:

由于要求解的是最短路径,所以我们采用迪杰斯特拉算法,按照改模板去套代码,首先初始化数据,最小公倍数利用乘积除以最大公因数计算求得

  1. import math
  2. g=[[float('inf')]*2021 for _ in range(2021)]
  3. used=[False]*2021
  4. dist=[float('inf')]*2021
  5. dist[0]=0
  6. for i in range(1,2022):
  7.         for j in range(i+1,2022):
  8.                 if j-i>21:
  9.                         break
  10.                 g[i-1][j-1]=i*j/math.gcd(i,j)
  11.                 g[j-1][i-1]=i*j/math.gcd(i,j)
  12. #此时已经初始化好路径,下面思考如何计算
  13. for i in range(2021):#因为每一次要选一个
  14.         x=-1
  15.         for y,u in enumerate(used):
  16.                 if not u and (x==-1 or dist[y]<dist[x]):
  17.                         x=y
  18.         used[x]=True
  19.         for y,time in enumerate(g[x]):
  20.                 dist[y]=min(dist[y],dist[x]+time)
  21. print(dist[-1])


 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/142228
推荐阅读
相关标签
  

闽ICP备14008679号