Возврат / печать индексов подмножества max sum без смежных целых чисел - PullRequest
0 голосов
/ 21 марта 2020

У меня есть O (N) время и O (1) пространственное решение для максимальной суммы подмножества без смежных элементов ниже. Сейчас я пытаюсь напечатать как максимальную сумму, так и индексы, составляющие решение.

Пример: ввод [7, 10, 12, 7, 9, 14] будет return [[33], [7, 12, 14]].

Кто-нибудь знает, как я смогу отслеживать индексы значений, составляющих максимальную сумму?

    public int MaxSum(int[] input)
    {
        if (input.Length == 0)
            return 0;
        if (input.Length == 1)
            return input[0];

        int second = input[0];
        int first = Math.Max(input[0], input[1]);

        for (int i = 2; i < input.Length; i++)
        {
            int currentMax = Math.Max(first, second + input[i]);
            second = first;
            first = currentMax; 
        }

        return first;
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...