[英]Error while calling functions within a function (Python)
我收到錯誤消息,說我定義的“makeShortest”函數存在語法錯誤。
def solution(A):
idxDict = defaultdict(list)
for i in range(len(A)):
idxDict[A[i]].append(i)
ans = -1
A.sort()
if len(A) <= 1:
return ans
hasAdj = 0
for i in range(len(A) - 1):
if A[i] != A[i + 1]:
hasAdj += 1
if hasAdj == 1:
ans = makeShortest(idxDict[A[i]], idxDict[A[i + 1]])
else:
ans = min(ans, makeShortest(idxDict[A[i]], idxDict[A[i + 1]]))
return ans
def makeShortest (list1, list2):
ans = abs(list1[0] - list2[0])
for k in range(len(list1)):
for l in range(len(list2)):
ans = min(ans, abs(list1[k] - list2[l])
return ans
這行中的 ans2 是錯誤嗎?
ans = min(ans2, abs(list1[k] - idxDict[list2[l]))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.