最小传输时延: 实现: lst = [[3, 5, 15],[1, 2, 11],[2, 3, 13], [1, 5, 50]] send = [1, 5] links = {} tmp = '' value = 0 # 先循环整个列表,找到起始位置 for i in range(len(lst)): if lst[i][0] == send[0]: tmp = str(lst[i][0]) + "-" + str(lst[i][1]) value = lst[i][2] # 然后再循环整个列表:每个子列表的第一位 == tmp的最后一位 for j in range(len(lst)): if tmp: if str(lst[j][0]) == tmp[-1]: tmp += '-' + str(lst[j][1]) value += lst[j][2] # 如果tmp最后一位刚好等于send的结束位的值,等于这个链路就OK if int(tmp[-1]) == send[1]: links[tmp] = value # if not tmp in links and int(tmp[-1]) == send[1]: # links[tmp] = value # 打印有效的链路数据,如果字典为空,证明走不通 if links: print(links) else: print(-1)
09-09
492
04-07
1万+
01-20
11-16
131
07-29