rabbbit
2020-05-14 14:25:39 +08:00
function isEven(num) {
...return num % 2 === 0;
}
function solution(A, K) {
...if (K === 0) {
......return -1;
...}
...let maxNum = -1;
...function dp(i, sum, remain) {
......if (remain === 0) {
.........if (isEven(sum) && sum > maxNum) {
............maxNum = sum;
.........}
.........return;
......}
......for (let j = i + 1; j < A.length; j++) {
.........dp(j, sum + A[j], remain - 1);
......}
...}
...for (let i = 0; i < A.length; i++) {
......dp(i, A[i], K - 1);
...}
...return maxNum;
}
console.log(solution([4, 9, 8, 2, 6], 3));
console.log(solution([5, 6, 3, 4, 2], 5));
console.log(solution([7, 7, 7, 7, 7], 1));
console.log(solution([10000], 2));
console.log(solution([2, 3, 3, 5, 5], 3));