這是我寫的代碼,它基本上描述了在源和目的地之間具有一個共同城市的飛行連接。對大多數測試用例來說似乎是正確的,但不能滿足這個特定的測試用例。兩個項目之間的連接具有中間項目作爲python中的連接
def onehop(lis):
hop=[]
for (i,j) in lis:
for (k,l) in lis:
if i==k and j!=l:
return sorted(lis)
if (i!=k and j!=l)and(i==l or j==k) and (((i,j) not in hop) and ((k,l) not in hop)):
m=lis.pop(lis.index((i,j)))
n=lis.pop(lis.index((k,l)))
hop.extend([m,n])
for i in range(len(hop)):
if hop[i][0]>hop[i][1]:
hop[i]=(hop[i][1],hop[i][0])
ans=sorted(hop,key=lambda item: (item[0],item[1]))
return ans
onehop([(2,3),(1,2),(3,1),(1,3),(3,2),(2,4),(4,1)])
輸出我的預期:
[(1, 2), (1, 3), (1, 4), (2, 1), (3, 2), (3, 4), (4, 2), (4, 3)]
輸出I獲得:
[(1, 2), (1, 3), (2, 3), (2, 4), (3, 1), (3, 2), (4, 1)]
你可以給*不*產生正確的輸出輸入的例子嗎? – glibdud
>>>頻率([1,2,3,4,5,5,4,3,2,3,4,5,5,4,5]) ([1],[5]) –