欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 财经 > 创投人物 > 力扣--LCR 183.望远镜中的最高海拔

力扣--LCR 183.望远镜中的最高海拔

2025/4/17 20:53:59 来源:https://blog.csdn.net/weixin_52297290/article/details/144530627  浏览:    关键词:力扣--LCR 183.望远镜中的最高海拔

题目

科技馆内有一台虚拟观景望远镜,它可以用来观测特定纬度地区的地形情况。该纬度的海拔数据记于数组 heights ,其中 heights[i] 表示对应位置的海拔高度。请找出并返回望远镜视野范围 limit 内,可以观测到的最高海拔值。

示例 1:

输入:heights = [14,2,27,-5,28,13,39], limit = 3
输出:[27,27,28,28,39]
解释:
滑动窗口的位置 最大值


[14 2 27] -5 28 13 39 27
14 [2 27 -5] 28 13 39 27
14 2 [27 -5 28] 13 39 28
14 2 27 [-5 28 13] 39 28
14 2 27 -5 [28 13 39] 39

提示:

你可以假设输入总是有效的,在输入数组不为空的情况下:

1 <= limit <= heights.length
-10000 <= heights[i] <= 10000

代码

class Solution {
public int[] maxAltitude(int[] nums, int k) {
if(nums == null || nums.length <= 1){
return nums;
}

    LinkedList<Integer> queue = new LinkedList<>();int[] res = new int[nums.length - k + 1];int index = 0;//Kfor(int i = 0; i < nums.length; i++){while(!queue.isEmpty() && nums[queue.peekLast()] <= nums[i]){queue.pollLast();}queue.add(i);if(queue.peekLast() - k == queue.peek()){queue.poll();}if(i + 1 >= k){res[index++] = nums[queue.peek()];}}return res;
}

}
时间复杂度:O(n)
额外空间复杂的:O(k)

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词