функция сортировки в python для алгоритмов и структур данных - PullRequest
0 голосов
/ 04 ноября 2018

Привет, я должен написать функцию, которая возвращает входное число х цифр в порядке добавления. (х <= 10 ^ 9). Сначала мы должны ввести количество цифр, а затем фактические цифры. напр. </p>

вход ->

3
-3 4 2

вывод ->

-3 2 4

вот мой код. Для меньших сумм кода x правильно, но для больших сумм я превышаю ограничение по времени (ограничение по времени составляет 1 с)

def Sort(alist):
    for passnum in range(len(alist)-1, 0, -1):
        for i in range(passnum):
            if alist[i] > alist[i + 1]:
                temp = alist[i]
                alist[i] = alist[i + 1]
                alist[i + 1] = temp
    return alist


x = int(input())
if x == 0:
    print()
else:
    y = [int(x) for x in input().split()]
    for i in range(x):
        print(Sort(y)[i], end=' ')

Ответы [ 2 ]

0 голосов
/ 27 февраля 2019
print(str(sorted(map(int,input().split()))).replace(',', '')[1:-1])

Это дает вам вывод, что вы ожидаете. Вход: -3 4 2 Выход: -3 2 4

Ввод: -3 8 5 -1 2 4 6 Выход: -3 -1 2 4 5 6 8

0 голосов
/ 04 ноября 2018

Вы можете немного сократить свой код:

_ = input() # does not matter

print(sorted(map(int,input().strip().split()), sep=" ")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...