def decrease(A, B):
for i, v in enumerate(A):
if i == 0:
pre = True
next = True if A[i + 1] - v > 0 else False
elif i == len(A)-1:
pre = True if v - A[i - 1] > 0 else False
next = True
else:
pre = True if v - A[i-1]>0 else False
next = True if A[i+1]-v>0 else False
if pre and next == False:
tal = i
break
else:
tal = None
if tal == None:
return "NO"
else:
num=[]
for j,v in enumerate(B):
if tal == 0:
if v<A[tal+1]:
num.append(v)
elif tal == len(A)-1:
if v>A[tal-1]:
num.append(v)
else:
if v>A[tal-1] and v<A[tal+1]:
num.append(v)
A[tal] = max(num)
return A
print(decrease([9,1,2,3,4,5,6],[1,2,0,5,-1]))
def solu(A):
if len(A) == 0:
return False
i = 0
j = 1
while i<len(A):
if i == len(A)-1:
return A[i][-1] == A[0][0]
else:
if A[i][-1] == A[j][0]:
if i+1 != j:
A[i+1],A[j] = A[j],A[i+1]
i = i+1
j = i+1
else:
j = j+1
if j >= len(A):
return False
来源:https://blog.csdn.net/yl_mouse/article/details/98886793