Если вы хотите, чтобы 0 все равно было равно 0 в конечном результате:
- Найдите число с наибольшей величиной. Это будет либо на 1 или -1.
- Подумайте, что вам нужно умножить на 1 или -1.
- Умножьте все числа в коллекции на этот коэффициент.
1011 * например *
[ -5, -3, -1, 0, 2, 4]
Число с наибольшей величиной -5. Мы можем получить это равным -1, умножив на 0,2 (-1 / -5). (Остерегайтесь деления на 0, если все ваши числа равны 0).
Так что умножьте все элементы на 0,2. Это дало бы:
[-1, -0.6, -0.2, 0, 0.4, 0.8]
Хотя обратите внимание, что
[ -5, -5, -5 ] -> [ -1, -1, -1 ]
и
[ 5, 5, 5 ] -> [ 1, 1, 1 ]
и
[ 0, 0, 0 ] -> [ 0, 0, 0 ]
Это может или не может быть то, что вы хотите. Спасибо @Hammerite за то, что подсказали мне его очень полезным комментарием:)