813. Largest Sum of Averages

https://leetcode.com/problems/largest-sum-of-averages/description/

解题思路:

  1. 用深度搜索方法:when k = 1 是返回条件, 截枝条件为dp[startindex][k] != 0

代码:
class Solution {
int len = 0;
public double largestSumOfAverages(int[] A, int K) {

    len = A.length;
    double[] sum = new double[len];
    sum[0] = A[0];
    for(int i = 1; i < len; i++)
        sum[i] = sum[i-1] + A[i];
    return dfs(A, K, 0, new double[len][K + 1], sum);
}
public double dfs(int[] A, int k, int startIndex, double[][] dp, double[] sum){
    if(k == 1) return (sum[len - 1] - sum[startIndex] + A[startIndex]) / (len - startIndex);
    if(dp[startIndex][k] != 0) return dp[startIndex][k];
    for(int i = startIndex; i <= len - k; i++){
        dp[startIndex][k] = Math.max(dp[startIndex][k], (sum[i] - sum[startIndex] + A[startIndex]) * 1.0 / (i - startIndex +1) + dfs(A, k-1, i+1, dp, sum));
    }
    return dp[startIndex][k];
}

}

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 背景 一年多以前我在知乎上答了有关LeetCode的问题, 分享了一些自己做题目的经验。 张土汪:刷leetcod...
    土汪阅读 14,359评论 0 33
  • 无意中翻出早年存藏的余秋雨的《山居笔记》和《行者无疆》《文化苦旅》,翻开书页便不可抑制的读了下去,读的酣畅淋漓,欲...
    花溪映雪阅读 2,361评论 0 2
  • 2017年7月24日提供便签:第16拆 辅导导师:@天南 R《这样读书就够了》第27-28页 如何解决三大问题 读...
    书书何阅读 1,594评论 0 0
  • 导入bmp贴图: 创建纹理: 几何绘制: glClear(GL_COLOR_BUFFER_BIT | GL_DEP...
    zz张哲阅读 3,816评论 0 0
  • 本节主要分享:字符串数字解析、URL解析、SHA1HASH、BASE64 以下代码在存放于github中如下仓库:...
    爪爪熊阅读 3,555评论 2 3

友情链接更多精彩内容