Найдите сумму всех подмножеств данного массива с максимальным размером подмножества не более k - PullRequest
2 голосов
/ 19 июня 2020

Учитывая и массив A = [1, 2, 3] и k = 2, подмножества будут такими: [1], [2], [3], [ 1,2], [1,3], [2,3] и их сумма будет 18.

ограничения: | A | = 1000000, A [i] <1000000 </p>

примечание: ans должен быть возвращен по модулю 10 ^ 9 + 7

Я решил это, используя последнюю строку треугольника Паскаля размера n ( размер массива). Для вышеуказанного, например. это 121. Поскольку k = 2, я суммирую первые 2 члена 1 2 1 , что составляет 1 + 2 = 3. Я умножаю каждый член массива на этот коэффициент, что дает мне 3 * 1 + 3 * 2 + 3 * 3 = 18. Это работает, потому что каждое число встречается столько раз во всех подмножествах.

Есть ли как лучше решить эту проблему?

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