腾讯笔试第4题期末总结 不知道错哪了

思路是用两个2维数组,一个sum[i][j]保存从i到j的和,一个min[i][j]保存从i到j的最小值,只过了20%,也没提示超时(虽然是O(n^2)),大佬们看看错哪了:
import java.util.Scanner;

public class Main {
	public static void main( String[] args ) {
		helper();
	}

	private static void helper() {
		Scanner sc = new Scanner(System.in);
		int n = sc.nextInt();
		int[] a = new int[n];
		for(int i=0;i<n;i++) {
			a[i] = sc.nextInt();
		}
		int[][] sum = new int[n+1][n+1];
		int[][] min = new int[n+1][n+1];
		int res = Integer.MIN_VALUE;
		for(int i=1;i<=n;i++) {
			for(int j=1;j<=n;j++) {
				if(i == j) {
					sum[i][j] = a[i-1];
					min[i][j] = a[i-1];
				}else if(i > j) {
					continue;
				}else {
					sum[i][j] = sum[i][j-1] + a[j-1];
					min[i][j] = min[i][j-1] < a[j-1] ? min[i][j-1] : a[j-1];
				}
				if(min[i][j] * sum[i][j] > res) {
					res = min[i][j] * sum[i][j];
				}
			}
		}
		System.out.println(res);
	}
}

#腾讯##笔试题目#
全部评论
题目感觉比第一次简单,但就是过不了都。。。真的惨😫
点赞 回复
分享
发布于 2019-09-01 22:11
这个过了40%。。。应该是超时了吧
点赞 回复
分享
发布于 2019-09-01 22:12
滴滴
校招火热招聘中
官网直投
我的跟你一样就过了10%
点赞 回复
分享
发布于 2019-09-01 22:15
80%只过,超时就很绝望
点赞 回复
分享
发布于 2019-09-01 22:16
一样的思路,只不过最后没时间交上去了🤣🤣
点赞 回复
分享
发布于 2019-09-01 22:19
和你一样,前两题都只过 20
点赞 回复
分享
发布于 2019-09-01 22:25

相关推荐

点赞 1 评论
分享
牛客网
牛客企业服务