Задачи по программированию
Python, C++, Java, C#, JavaScript, Pascal, SQL. Пришлите условие — получите код с комментариями и объяснение алгоритма. Или пришлите свою программу — Садраном найдёт ошибку и объяснит, почему она возникла.
Как выглядит ответ
Python: дан список чисел. Выведите второе по величине число, не используя sort.
Идём по списку один раз и храним два наибольших значения.
first = second = float('-inf')
for x in nums:
if x > first: second, first = first, x
elif first > x > second: second = x
print(second)
Каждое число сравнивается максимум дважды, поэтому решение работает за один проход — O(n), без сортировки. Условие `first > x` отсекает повторы максимума.
Что можно попросить
- решить задачу: от школьной информатики до лабораторной в вузе;
- найти ошибку: вставьте код и текст ошибки или неверный вывод;
- объяснить чужой код построчно;
- оценить сложность алгоритма и предложить быстрее;
- написать SQL-запрос по описанию таблиц.
Как спросить, чтобы получить хороший ответ
- Укажите язык и версию, если это важно: Python 3, C++17.
- Приложите условие целиком, с форматом ввода и вывода.
- Если есть ограничения — «без встроенной сортировки», «только циклы» — напишите их, иначе решение может оказаться не тем, что ждёт преподаватель.
Про самостоятельность
Код, который вы не понимаете, сложно защитить. Попросите объяснить решение по шагам или написать его проще — на защите это пригодится.
Частые вопросы
Какие языки поддерживаются?
Популярные: Python, C, C++, C#, Java, JavaScript, PHP, Pascal, SQL и другие. Для редких языков качество ниже.
Можно прислать проект целиком?
Лучше присылать фрагмент, в котором проблема, и текст ошибки. Большой проект за один вопрос не разобрать.
Код будет рабочим?
Обычно да, но запустите его и проверьте на своих тестах. Если не работает, пришлите ошибку в уточняющем вопросе.