Largest Sum of Averages LeetCode solution in Java

1
class Solution {
2
Double dp[][][];
3
int n;
4
int k1;
5

6
public double check(int b, int c, long sum, int n1, int ar[]) {
7
System.out.println(b + " " + c);
8
if (dp[b][c][n1] != null) return dp[b][c][n1];
9
if (b == n) {
10
if (sum != 0) return (double) sum / (double) n1;
11
else return 0.0;
12
}
13
if (c < k1 && sum > 0)
14
dp[b][c][n1] =
15
Math.max(
16
(double) sum / (double) n1 + check(b, c + 1, 0, 0, ar),
17
check(b + 1, c, sum + (long) ar[b], n1 + 1, ar));
18
else dp[b][c][n1] = check(b + 1, c, sum + (long) ar[b], n1 + 1, ar);
19

20
return dp[b][c][n1];
21
}
22

23
public double largestSumOfAverages(int[] nums, int k) {
24
n = nums.length;
25
k1 = k - 1;
26
dp = new Double[n + 1][k][n + 1];
27
return check(0, 0, 0l, 0, nums);
28
}
29
}

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0