单选题

输入:[1,8,6,2,5,4,8,3,7]输出:49目前某学生用如下ja...

发布于 2022-03-02 16:24:43

762291rnm.jpg
762291rnm.jpg
输入:[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
知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看