В крайних случаях метод EvenSum выполняется слишком долго. Как мне оптимизировать цикл?JAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 В крайних случаях метод EvenSum выполняется слишком долго. Как мне оптимизировать цикл?

Сообщение Anonymous »

Я работаю над методом 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
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»