Учитывая и массив 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. Это работает, потому что каждое число встречается столько раз во всех подмножествах.
Есть ли как лучше решить эту проблему?