Я работаю над методом Java под названием EvenSum, который суммирует все четные числа между двумя целыми числами, от и до включительно. В требованиях указано, что если from больше, чем to, метод должен вернуть -1. Например, EvenSum(4, 6) должен возвращать 10, EvenSum(10, 15) должен возвращать 36, а EvenSum(4, 4) должен возвращать 4.
Хотя этот метод работает во многих случаях, он не проходит тест 8 из-за проблем с производительностью и занимает слишком много времени. Результаты теста показывают, что условия цикла могут быть неэффективными.
В настоящее время метод проверяет, является ли from нечетным, и увеличивает его до следующего четного числа, а затем суммирует четные числа в цикле, пока не достигнет к. Я подозреваю, что цикл не оптимизирован, особенно для больших диапазонов.
Я был бы признателен за любые предложения по повышению эффективности моего кода, чтобы предотвратить тайм-аут во время тестов. Изначально я ожидал, что метод правильно вычислит сумму для различных входных диапазонов, включая крайние случаи. Хотя он прошел первые семь тестов, он неожиданно провалил тест 8, что заставило меня предположить, что цикл может быть неэффективным.
Мой код:
public static long evenSum(int from, int to) {
if (from > to) {
return -1L;
}
if (from % 2 != 0) {
from++;
}
long sum = 0L;
int currentValue = from;
while (currentValue
Подробнее здесь: https://stackoverflow.com/questions/790 ... mize-the-l
В крайних случаях метод EvenSum выполняется слишком долго. Как мне оптимизировать цикл? ⇐ JAVA
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Обходчик кучи Jprofiler слишком долго делает снимок и слишком долго отключает сеанс
Anonymous » » в форуме JAVA - 0 Ответы
- 80 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Команда публикации dotnet выполняется слишком долго для консольного приложения
Anonymous » » в форуме C# - 0 Ответы
- 13 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Resources.Load в некоторых случаях завершается сбоем, но в других случаях работает корректно.
Anonymous » » в форуме C# - 0 Ответы
- 25 Просмотры
-
Последнее сообщение Anonymous
-