当前位置: 首页 > news >正文

华为OD-滑动窗口最大值

 题目描述

给你一个整数数组 nums,有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。滑动窗口每次只向右移动一位。

返回 滑动窗口中的最大值 

示例一

输入:nums = [1,3,-1,-3,5,3,6,7], k = 3
输出:[3,3,5,5,6,7]
解释:
滑动窗口的位置                最大值
---------------               -----
[1  3  -1] -3  5  3  6  7       31 [3  -1  -3] 5  3  6  7       31  3 [-1  -3  5] 3  6  7       51  3  -1 [-3  5  3] 6  7       51  3  -1  -3 [5  3  6] 7       61  3  -1  -3  5 [3  6  7]      7

示例二

输入:nums = [1], k = 1
输出:[1]

代码实现

# coding:utf-8
# 滑动窗口最大值
# https://leetcode.cn/problems/sliding-window-maximum/class Solution(object):def maxSlidingWindow(self, nums, k):""":type nums: List[int]:type k: int:rtype: List[int]"""ans = []que = []for i in range(len(nums)):while que and ((i - k + 1) > k):del que[0]while que and (nums[que[-1]] < nums[i]):que.pop()que.append(i)if k and (i >= k - 1):ans.append(nums[que[0]])return ansif __name__ == '__main__':s = list(map(int, (input("input arry:").split(','))))k = int(input("input K:").split(' ')[0])solution = Solution()print(solution.maxSlidingWindow(s, k))

http://www.lryc.cn/news/138852.html

相关文章:

  • Linux:ansible自动化运维工具
  • 前端如何使用WebSocket发送消息
  • 纸贵科技连续三年蝉联IDC中国 FinTech 50榜单
  • 台积电美国厂施工现场混乱,真令人头痛 | 百能云芯
  • React绑定antd输入框,点击清空或者确定按钮实现清空输入框内容
  • Springboot整合liquIbase组件
  • Apache Paimon 实时数据湖 Streaming Lakehouse 的存储底座
  • 计算机网络(10) --- 高级IO
  • 学习中ChatGPT的17种用法
  • 融合CDN 如何有效的抵抗DDoS攻击
  • Git 原理与使用
  • 如何批量加密PDF文件并设置不同密码 - 批量PDF加密工具使用教程
  • 【Unity 工程化】unity一些资源路径用途
  • 使用Docker进行模型部署
  • 第59步 深度学习图像识别:误判病例分析(TensorFlow)
  • 【Vue框架】基本的login登录
  • Python21天打卡Day16-内置方法map()
  • 伦敦银和伦敦金的区别
  • 【从零学习python 】92.使用Python的requests库发送HTTP请求和处理响应
  • Python requests实现图片上传接口自动化测试
  • 【LeetCode-面试经典150题-day13】
  • taro.js和nutui实现商品选择页面
  • 数据结构--算法的时间复杂度和空间复杂度
  • Vue中使用element-plus中的el-dialog定义弹窗-内部样式修改-v-model实现-demo
  • MySQL 主从配置
  • 上海亚商投顾:创业板指反弹大涨1.26% 核污染概念股午后全线走强
  • Mysql数据库管理
  • 【java安全】FastJson反序列化漏洞浅析
  • pytestx重新定义接口框架设计
  • 【文生图系列】Stable Diffusion原理篇