Largest Sum of Averages LeetCode solution in C++
1class Solution {2public:3double solve(vector<int> &nums, int index, int k, vector<vector<double>> &dp) {4if (index < 0) return 0;5if (k <= 0) return -1e8;67if (dp[index][k] != -1) return dp[index][k];89double s_sum = 0;10double maxi = INT_MIN;11int cnt = 1;12for (int i = index; i >= 0; i--) {13s_sum += nums[i];14maxi = max(maxi, (s_sum / cnt) + solve(nums, i - 1, k - 1, dp));15cnt++;16}17return dp[index][k] = maxi;18}1920double largestSumOfAverages(vector<int> &nums, int k) {21int n = nums.size();22vector<vector<double>> dp(n, vector<double>(k + 1, -1));23return solve(nums, n - 1, k, dp);24}25};