Python BasicsЛегко

Можно ли сделать все числа массива равными? ---ПИСЕП--- Подробное руководство и реализация __PYTERM_0__ для задачи «Можно ли сделать все числа в массиве равными». ---ПИСЕП--- Напишите функцию __PYCODE_0__, которая определяет, можно ли сделать равными все элементы массива путем многократного добавления или вычитания одного элемента из другого. Это возможно тогда и только тогда, когда общая сумма массива делится на длину массива (т. е. среднее значение является целым числом). Верните __PYCODE_1__, если возможно, и __PYCODE_2__ в противном случае. Примечание: более простая интерпретация — если мы можем свободно перераспределять значения, мы всегда можем сделать их равными, когда сумма делится на длину. ---ПИСЕП--- __PYTERM_0__ Основы ---ПИСЕП--- Массивы ---ПИСЕП--- Проблема «Можно ли сделать все числа массива равными» является ключевой задачей в разделе «Массивы». ---ПИСЕП--- Эта реализация фокусируется на логике простого уровня в __PYTERM_0__. ---ПИСЕП--- В предоставляемых нами решениях мы уделяем приоритетное внимание технической точности и читаемости кода. ---ПИСЕП--- Алгоритмическая инженерия ---ПИСЕП--- Соревновательное программирование ---ПИСЕП--- Технические оценки ---ПИСЕП--- Визуализация логического потока для вопроса «Могут ли все числа в массиве быть равными?» ---ПИСЕП--- Внимательно прочитайте постановку задачи «Могут ли все числа в массиве быть равными». ---ПИСЕП--- Нарисуйте простое итеративное решение. ---ПИСЕП--- Ищите лишние вычисления. ---ПИСЕП--- Используйте хеширование или сортировку, чтобы ускорить процесс. ---ПИСЕП--- Очистите код для производственных стандартов. ---ПИСЕП--- Пустые входные структуры ---ПИСЕП--- Одноэлементные входы ---ПИСЕП--- Большие числовые границы ---ПИСЕП--- Объясните логику вашего подхода к массивам. ---ПИСЕП--- Обсудите крайние случаи, такие как нулевые или пустые входные данные. ---ПИСЕП--- Применяются стандартные свойства проблемы массивов. ---ПИСЕП--- Рассмотрите возможность использования структур данных, специфичных для массивов, таких как наборы или кучи. ---ПИСЕП--- Минимальная сумма абсолютной разницы ---ПИСЕП--- Подробное руководство и реализация __PYTERM_0__ для задачи «Минимальная абсолютная разница суммы». ---ПИСЕП--- Напишите функцию __PYCODE_0__, которая принимает два массива одинаковой длины и возвращает минимально возможное значение sum(|arr1[i] - arr2[i]|) после перестановки элементов обоих массивов в любом порядке. Чтобы минимизировать эту сумму, сортируйте как массивы, так и парные элементы по одному и тому же индексу. ---ПИСЕП--- __PYTERM_0__ Основы ---ПИСЕП--- Массивы ---ПИСЕП--- Проблема «минимальной абсолютной разницы суммы» является ключевой задачей в разделе «Массивы». ---ПИСЕП--- Эта реализация фокусируется на логике простого уровня в __PYTERM_0__. ---ПИСЕП--- В предоставляемых нами решениях мы уделяем приоритетное внимание технической точности и читаемости кода. ---ПИСЕП--- Алгоритмическая инженерия ---ПИСЕП--- Соревновательное программирование ---ПИСЕП--- Технические оценки ---ПИСЕП--- Визуализация логического потока для абсолютной разницы минимальной суммы. ---ПИСЕП--- Внимательно прочитайте постановку задачи для абсолютной разницы минимальной суммы. ---ПИСЕП--- Нарисуйте простое итеративное решение. ---ПИСЕП--- Ищите лишние вычисления. ---ПИСЕП--- Используйте хеширование или сортировку, чтобы ускорить процесс.

Detailed guide and Python implementation for the 'Can all numbers of array be made equal' problem.

Постановка задачи

Легко

Write a function can_make_equal(arr) that determines if all elements of the array can be made equal by repeatedly adding or subtracting any element from another. This is possible if and only if the total sum of the array is divisible by the length of the array (i.e., the mean is an integer). Return True if possible, False otherwise. Note: a simpler interpretation — if we can redistribute values freely, we can always make them equal when the sum is divisible by length.

Ограничения
  • 1 <= len(arr) <= 10^5
  • -10^6 <= arr[i] <= 10^6

Примеры

Example 1
Input
arr = [1, 1, 1]
Output
True
Explanation

All elements are already equal.

Example 2
Input
arr = [1, 2, 3]
Output
True
Explanation

Sum = 6, length = 3. 6/3 = 2. We can make all elements 2.

Example 3
Input
arr = [1, 2, 4]
Output
False
Explanation

Sum = 7, length = 3. 7/3 is not an integer, so we cannot make all equal.

Need a Hint?
Consider using Arrays-specific data structures like sets or heaps.
Edge Cases to Watch
  • Empty input structures
  • Single element inputs
  • Large numerical bounds

Готовы решить?

Open the problem in PyRun's browser-based Python editor. Your code runs fully offline — no server required.

Открыть в редакторе
Found this breakdown helpful?

PyRun is built and maintained by an independent solo developer. If this helped your interview prep, consider buying a coffee!

Buy me a coffee

Рекомендуемые ресурсы Python

Расширьте свои знания с помощью соответствующих интерактивных руководств, шпаргалок и сравнений кода.

Учебник по Python

Циклы Python

Узнайте, как использовать циклы Python для перебора данных. Освойте циклы for, while, прерывание, продолжение и лучшие практики работы с циклами с помощью интерактивных примеров.

Посмотреть ресурс
Практическое руководство

Как найти длину списка в Python

Узнайте, как найти длину списка в Python с помощью функции len(). Поймите временную сложность O(1) и количество проверок.

Посмотреть ресурс
Шпаргалка

Шпаргалка по строковым методам Python

Полное справочное руководство по манипулированию строками в Python. Мастер форматирования, поиска, разделения, замены и проверки свойств строк.

Посмотреть ресурс
Сравнение языков

Python против JavaScript: какой язык программирования лучше?

Всестороннее сравнение Python и JavaScript. Изучите синтаксические различия, производительность, варианты использования (серверная и клиентская части) и примеры кодирования.

Посмотреть ресурс