Самый эффективный способ найти следующее приращение в большом числеJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Самый эффективный способ найти следующее приращение в большом числе

Сообщение Anonymous »

У меня есть число длиной nbr = 10000. Я увеличиваю и уменьшаю это значение, а сумма увеличения или уменьшения зависит от его значения. Если nbr > x, то nbr += xx, если nbr > y, то nbr += yy и т. д. В зависимости от других факторов будут меняться значения приращения (xx, yy и т. д.), а также изменятся пределы изменения значения приращения (x,y и т. д.). Мне нужна функция public int увеличенияNbr(int nbr), которая возвращает увеличенное число в соответствии с приведенной выше логикой и делает это максимально эффективно. В настоящее время я реализую это следующим образом, но чувствую, что это не очень эффективно.

private TreeMap aboveNbr_increment_map;

private Integer getIncrementValueAboveNbr(int nbr) {

// finds the valid increment below a certain price
Map.Entry entry = aboveNbr_increment_map.lastEntry();

while (entry != null) {

if (price>=entry.getKey()) {
return entry.getValue();
}

entry = aboveNbr_increment_map.lowerEntry(entry.getKey());
}

// otherwise return the lowest increment size
return aboveNbr_increment_map.get(aboveNbr_increment_map.firstKey());
}

public Integer getNextNbrAbove(int nbr) {

return nbr + this.getIncrementValueAboveNbr(nbr));
}


Подробнее здесь: https://stackoverflow.com/questions/430 ... big-number
Ответить

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

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

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

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

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