Проблема с NVelocity, foreach и двумя Списками

Необходимо передать обновленные l и u в качестве параметров рекурсивному методу. То, что вы делаете, это присваиваете одинаковые значения l (= 0) и u (= n-1) в каждом вызове. Другими словами, каждый рекурсивный вызов не решает проблему меньшего размера . Это та же самая проблема и, следовательно, она приводит к переполнению стека.

Вот псевдокод.

int binarySearch(int v, int l, int u) {
    if (l <= u) {
       find mid
       is the element at mid:
           return 1;// Can be 'mid' to return the index at which it was found.
       should we go left:
           return binarySearch(v, l, mid - 1);
       should we go right:
           return binarySearch(v, mid + 1, u);
    } 
    return -1; //Not found
}

. Обратите внимание:

  1. Базовое условие (l <= u). Это позволит нам обнаружить состояние отсутствующего элемента и завершить рекурсию.
  2. Ключевое слово return в каждом рекурсивном вызове, без которого вы всегда будете возвращать -1.

ОБНОВЛЕНИЕ:

Если у вас l и u объявлен статический статус, вам необходимо обновить их перед выполнением рекурсивного вызова.

int binarySearch(int v) {
    if (l <= u) {
       find mid
       is the element at mid:
           return 1;// Can be 'mid' to return the index at which it was found.
       should we go left:
           u = mid - 1
           return binarySearch(v);
       should we go right: 
           l = mid + 1
           return binarySearch(v);
    } 
    return -1; //Not found
}

Примечание. Перед вызовом этого метода необходимо установить l = 0 и u = n - 1.

5
задан Stefan Koelle 12 January 2009 в 16:33
поделиться

2 ответа

Может быть простое решение, но я создал бы третий класс как такой

class BookList{
       MyBookObject     a;
       AmazonBookObject b;
}

список этого третьего класса мог быть передан Вашему представлению сразу.

1
ответ дан 14 December 2019 в 09:03
поделиться

Послушайте: http://www.castleproject.org/monorail/faq.html#NVelocity%20View%20Engine

Вы могли бы получить доступ к словарю в NVelocity через

$amazonbook.get_Item($index) 
6
ответ дан 14 December 2019 в 09:03
поделиться
Другие вопросы по тегам:

Похожие вопросы: