Борису, чтобы не пришлось писать вторую функцию для разворота массива, можно было просто в своей функции использовать вместо метода списка append использовать другой метод - insert(index, value), в первый аргумент передал бы 0, и тогда при добавлении нового элемента, он добавлялся бы в начало списка, и все остальные элементы сдвигались бы вправо)))
Здравствуйте смотрю вас мне нравится , только смотреть , если бы я был у вас на собесе я бы вас испугался вы очень страшный(без негатива) когда задумываетесь )), По поводу сортировки Python я применил бы сортировку Хоара, только там вроде O(n) -> O(n^2) , но зато там без доп памяти
Андрей, привет! а как на такое попасть? хотелось бы плюсы попредставлять. в описании и в тг не нашел объявлений. очень интересно было бы себя проверить)
Но ведь питонист неправильную сортировку написал. Она подходит только для конкретно этого примера, если 0 заменить на 10 [-9, -2, 0, 2, 3] -> [-9, -2, 10, 2, 3] она уже работать не будет
Добрый вечер, можете подсказать, интересуюсь python, но не так плотно с ним знаком, то что касается памяти и всего остального.) Почему нельзя просто вот так написать и решить задачу, это считается не корректным ? nl1 = [-9, -2, 0, 2, 3] nl = sorted([abs(i) ** 2 for i in nl1]) print(nl)
Первая мысль именно такая) только модуль не нужен. Дальше идёт предположение, что алгоритмическая сложность в это случае nlogn , а ребята добились n. Но не знаю на сколько это обосновано с точки зрения реального кода. Я ещё подумал, что слишком лёгкая задача)
@@всеволодфилиппов-ж3жс точки зрения стандартных задач алгоритмы стоит применять только в качестве метода мышления, хотя конечно наверняка бывают и исключения, если нужен сильно оптимизированный быстрый и дешевый фрагмент, то почему бы и нет
Первое, что пришло в голову сразу ( в двух вариантах, как кому удобней и понятней), пишу, ещё не досмотрев до конца, только залание услышал)) Поэтому не исключаю, что написал глупость) num=[2,5,8,4,3,-5,2,0,-9] num2=[x**2 for x in num] '''for i in num: x=i**2 num2.append(x)''' num2.sort() print(num2)
ЗДРАВСТВУЙТЕ ТАК ВСЁ ЖЕ ЧТО ЛУЧШЕ ИЗУЧАТЬ НОВИЧКУ КАКОЙ ЯЗЫК ПРОГРАММИРОВАНИЯ ПАЙТОН ИЛИ СИ И КАКОВА СЛОЖНОСТЬ В ИЗУЧЕНИЯ ЯЗЫКОВ ПРОГРАММИРОВАНИЯ А ТО СТОЛЬКО ИНФОРМАЦИИ А КОНКРЕТИКИ НЕТУ КТО ГОВОРИТ ЛУЧШЕ ИЗУЧАТЬ СИ КТО ТО ПАЙТОН ОН ПРОЩЕ ЕСТЬ ЕДИНЫЙ ОТВЕТ ЕСЛИ ЧТО Я ПОЛНЫЙ НОВИЧОК ВОТ И ВЫБИРАЮ С ЧЕГО НАЧАТЬ А ВООБЩЕ Я ХОТЕЛ ОБУЧИТСЯ ПО КИБЕРБЕЗОПАСНОСТИ ТОГДА В ЭТОМ СЛУЧАИ КАКОЙ ЯЗЫК ПРОГРАММИРОВАНИЯ ИЗУЧАТЬ ПОДСКАЖИТЕ ПОЖАЛУЙСТА
@@mrhayterofall Питон легче, но потом если захочешь переключиться на Си будет сложнее. По этому лучше начать с Си или С++. Да Си сложновать, но после неё тебе легче будет переключиться на другие языки в том числе и на питон
Борису, чтобы не пришлось писать вторую функцию для разворота массива, можно было просто в своей функции использовать вместо метода списка append использовать другой метод - insert(index, value), в первый аргумент передал бы 0, и тогда при добавлении нового элемента, он добавлялся бы в начало списка, и все остальные элементы сдвигались бы вправо)))
Наглядный пример того что алгоритмы лучше проверять на абстрактном псевдо языке который максимально отвязан от конкретной реализации.
Здравствуйте смотрю вас мне нравится , только смотреть , если бы я был у вас на собесе я бы вас испугался вы очень страшный(без негатива) когда задумываетесь )), По поводу сортировки Python я применил бы сортировку Хоара, только там вроде O(n) -> O(n^2) , но зато там без доп памяти
Зовите Болчонка на гошку
Андрей, привет! а как на такое попасть? хотелось бы плюсы попредставлять. в описании и в тг не нашел объявлений. очень интересно было бы себя проверить)
Попредставлять в качестве кандидата или с другой стороны?
Но ведь питонист неправильную сортировку написал. Она подходит только для конкретно этого примера, если 0 заменить на 10 [-9, -2, 0, 2, 3] -> [-9, -2, 10, 2, 3] она уже работать не будет
изначальный список УЖЕ ОТСОРТИРОВАН!!!
Нет, будет работать по той причине, что в условии сказанно, что все элементы отсортированные.
10-ку нужно поставить после 2
@@ДмитрийВасильевич1234 Да... я пропустил, что дают отсортированный список, поэтому и удивился
Добрый вечер, можете подсказать, интересуюсь python, но не так плотно с ним знаком, то что касается памяти и всего остального.)
Почему нельзя просто вот так написать и решить задачу, это считается не корректным ?
nl1 = [-9, -2, 0, 2, 3]
nl = sorted([abs(i) ** 2 for i in nl1])
print(nl)
Потому что алгоритмы
Первая мысль именно такая) только модуль не нужен. Дальше идёт предположение, что алгоритмическая сложность в это случае nlogn , а ребята добились n. Но не знаю на сколько это обосновано с точки зрения реального кода. Я ещё подумал, что слишком лёгкая задача)
у вас решение O(N)logN а тут задачу нужно решить О(N)
@@ДмитрийВасильевич1234 а это имеет смысл с точки зрения реальных задач? Или в реальном продакшене подошёл бы вариант, который пишется за 10 секунд?
@@всеволодфилиппов-ж3жс точки зрения стандартных задач алгоритмы стоит применять только в качестве метода мышления, хотя конечно наверняка бывают и исключения, если нужен сильно оптимизированный быстрый и дешевый фрагмент, то почему бы и нет
Первое, что пришло в голову сразу ( в двух вариантах, как кому удобней и понятней), пишу, ещё не досмотрев до конца, только залание услышал)) Поэтому не исключаю, что написал глупость)
num=[2,5,8,4,3,-5,2,0,-9]
num2=[x**2 for x in num]
'''for i in num:
x=i**2
num2.append(x)'''
num2.sort()
print(num2)
Вы читаете коменты?, просто спрашиваю, а вдруг что-то спросить захочу
ЗДРАВСТВУЙТЕ ТАК ВСЁ ЖЕ ЧТО ЛУЧШЕ ИЗУЧАТЬ НОВИЧКУ КАКОЙ ЯЗЫК ПРОГРАММИРОВАНИЯ ПАЙТОН ИЛИ СИ И КАКОВА СЛОЖНОСТЬ В ИЗУЧЕНИЯ ЯЗЫКОВ ПРОГРАММИРОВАНИЯ А ТО СТОЛЬКО ИНФОРМАЦИИ А КОНКРЕТИКИ НЕТУ КТО ГОВОРИТ ЛУЧШЕ ИЗУЧАТЬ СИ КТО ТО ПАЙТОН ОН ПРОЩЕ ЕСТЬ ЕДИНЫЙ ОТВЕТ ЕСЛИ ЧТО Я ПОЛНЫЙ НОВИЧОК ВОТ И ВЫБИРАЮ С ЧЕГО НАЧАТЬ А ВООБЩЕ Я ХОТЕЛ ОБУЧИТСЯ ПО КИБЕРБЕЗОПАСНОСТИ ТОГДА В ЭТОМ СЛУЧАИ КАКОЙ ЯЗЫК ПРОГРАММИРОВАНИЯ ИЗУЧАТЬ ПОДСКАЖИТЕ ПОЖАЛУЙСТА
Начни с русского, не ошибёшься) а если серьезно, то начни с питона, чтобы понять механизм
Жаль что нельзя ешё больше буквы сделать...
Ты чего кричишь.. python однозначно, си это для жёстких ребят
@@mrhayterofall Питон легче, но потом если захочешь переключиться на Си будет сложнее. По этому лучше начать с Си или С++. Да Си сложновать, но после неё тебе легче будет переключиться на другие языки в том числе и на питон