Рекурсия: значение настройки алгоритма суммы подмножества в параметрах

Как мне сбросить значение blockIndex в исходное состояние, когда я вызываю метод?

Скажем, если я позвоню и передам значение 4. Я проверяю, больше ли это значение, чем 9, если нет, я добавляю элемент в pos(0), Но, отслеживая мою функцию, я вижу, что она добавляет все значения вектора. Я просто хочу, чтобы он добавил 1 элемент, а затем, когда он проверит, больше ли он, чем 9, вернет его к исходному значению. Как мне это сделать?

int NumCriticalVotes :: CountCriticalVotes(Vector<int> & blocks, int blockIndex)
{
if (blockIndex >= 9 && blocks.isEmpty())
{
return 1;
}
if (blocks.isEmpty()) //Fail case
{
return 0;
} else {

int element = blocks.get(0);
Vector<int> rest = blocks;
rest.remove(0);
return CountCriticalVotes(rest, blockIndex) || CountCriticalVotes(rest, blockIndex + element);
}
}

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]