输入:[1,8,6,2,5,4,8,3,7]输出:49目前某学生用如下ja...
发布于 2022-03-02 16:24:43


输入:[1,8,6,2,5,4,8,3,7] 输出:49目前某学生用如下java代码解决了此问题,设height数组长度为N,且N足够大,他的部分代码如下,请你判断他代码(maxArea函数)的时间复杂的以及额外的空间复杂度(不包括传入的height数组)分别为?
int calculateArea(int start, int end, int sHeight, int eHeight) { int len = end - start int height = Math.min(sHeight, eHeight) return len * height } public int maxArea(int[] height) { int maxLen = -1 int arrLen = height.length for (int i = 0, j = arrLen - 1 i < arrLen ) { if (i == j) { return maxLen } int area = calculateArea(i, j, height[i], height[j]) maxLen = Math.max(area, maxLen) if (height[i] > height[j]) { j-- } else { i++ } } return 0 }
登录后免费查看答案
关注者
0
被浏览
30