关注
大佬们,我这种做法对吗?
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int[] arr = new int[n];
// 读取数据
for (int i = 0; i < n; i++) {
arr[i] = sc.nextInt();
}
long sum = 0L;
// dp[l][r]记录[l..r]区间的最大值是什么
int[][] dp = new int[n][n];
// 初始情况 区间只有一个元素 => dp[i][i] = arr[i]
for (int i = 0; i < n; i++) {
dp[i][i] = arr[i];
sum += arr[i];
}
// 从区间长度为2的时候开始计算dp 区间长度为 i = l-r+1
for (int i = 2; i <= n; i++) {
// 左端点从0开始,右端点不能大于n 为结束条件
for (int l = 0; i + l -1 < n ; l++) {
int r = i + l - 1;
dp[l][r] = Math.max(arr[r], dp[l][r-1]);
// 累加最大值
sum += dp[l][r];
}
}
int totalCount = (n+1)*n/2;
double res = (double) sum / totalCount;
System.out.format("%.6f", res);
}
查看原帖
点赞 评论
相关推荐
点赞 评论 收藏
分享
10-13 23:13
重庆邮电大学 Java 点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 帮我看看,领导说这话什么意思? #
14690次浏览 87人参与
# 毕业租房也有小确幸 #
140197次浏览 4491人参与
# 平安产险科技校招 #
2606次浏览 0人参与
# 你的mentor是什么样的人? #
11710次浏览 91人参与
# 得物app工作体验 #
26911次浏览 60人参与
# 怎么给家人解释你的工作? #
6955次浏览 55人参与
# 快手技术岗信息交流阵地 #
107次浏览 0人参与
# 牛友的志愿填报指南 #
33345次浏览 178人参与
# 租房前辈的忠告 #
259025次浏览 7114人参与
# 国企还是互联网,你怎么选? #
167271次浏览 1177人参与
# 求职中的尴尬瞬间 #
1369次浏览 23人参与
# 小红书求职进展汇总 #
118397次浏览 946人参与
# 校招泡的最久的公司是哪家? #
9822次浏览 65人参与
# 薪资爆料 #
197735次浏览 1505人参与
# 求职低谷期你是怎么度过的 #
9705次浏览 190人参与
# 26届秋招公司红黑榜 #
23506次浏览 85人参与
# 从哪些方向判断这个offer值不值得去? #
11888次浏览 149人参与
# 度小满求职进展汇总 #
11787次浏览 64人参与
# 你觉得mentor喜欢什么样的实习生 #
14655次浏览 388人参与
# 牛客树洞,我想对你说 #
3933次浏览 61人参与
# 还记得你第一次面试吗? #
339610次浏览 3874人参与
# 机械人的秋招小目标 #
22538次浏览 217人参与