拼多多笔试,第一题非严格递增数组排序,求解
没有任何复杂的思路,将B数组排序后,从大到小进行替换测试,分别对位置index + 1,index进行替换,有一种情况符合就输出这个数。为什么只有40%的通过率,求大佬答疑!!!
import copy
line1 = input().strip()
line1 = line1.split(" ")
line1 = list(map(int, line1))
line2 = input().strip()
line2 = line2.split(" ")
line2 = list(map(int, line2))
line2.sort()
index = 0
while index < len(line1) - 1:
if line1[index] > line1[index + 1]:
break
index += 1
temp = copy.deepcopy(line1)
index2 = len(line2) - 1
while index2 >= 0:
temp1 = copy.deepcopy(line1)
temp2 = copy.deepcopy(line1)
temp1[index + 1] = line2[index2]
temp2[index] = line2[index2]
sort1 = sorted(temp1)
sort2 = sorted(temp2)
if sort1 == temp1:
for i in temp1:
print(i, end=" ")
break
if sort2 == temp2:
for i in temp2:
print(i, end=" ")
break
index2 -= 1
else:
print("NO")
#拼多多##笔试题目#line1 = input().strip()
line1 = line1.split(" ")
line1 = list(map(int, line1))
line2 = input().strip()
line2 = line2.split(" ")
line2 = list(map(int, line2))
line2.sort()
index = 0
while index < len(line1) - 1:
if line1[index] > line1[index + 1]:
break
index += 1
temp = copy.deepcopy(line1)
index2 = len(line2) - 1
while index2 >= 0:
temp1 = copy.deepcopy(line1)
temp2 = copy.deepcopy(line1)
temp1[index + 1] = line2[index2]
temp2[index] = line2[index2]
sort1 = sorted(temp1)
sort2 = sorted(temp2)
if sort1 == temp1:
for i in temp1:
print(i, end=" ")
break
if sort2 == temp2:
for i in temp2:
print(i, end=" ")
break
index2 -= 1
else:
print("NO")