2
Здесь, в нижнем коде, я пытаюсь выяснить, есть ли два элемента в левой части, которые больше правого элемента, но это, похоже, не работает для моей проблемы. Какие-нибудь намеки написать дополнительную логику? Я застрял здесь.Python: проверьте, можно ли отсортировать список, заменив два элемента, разрешен только один обмен.
swap.py
def swap(lst):
count = 0
for k in range(0, len(lst)-1):
if lst[k] > lst[k+1]:
count += 1
if int(count) == 2:
print "Swapped"
elif int(count) == 0:
print True
else:
print False
if __name__ == "__main__":
swap([1,2,3,4,0])
swap([6,4,2,5])
swap([6,4,2,8])
swap([1,4,5])
Мой ожидается выход из программы -
[1,4,5] will return True
[6,4,2,8] will return Swapped
[6,4,2,5] will return False
Что именно «обменивается»? Вы проверяете, будет ли сортировка списка двумя элементами сортировки? –
yes Я просто проверяю, если поменяв только два элемента, список будет отсортирован, если да, тогда я печатаю строку «swapped» – Sanchit
Должны ли они быть соседними? –