该题目来源于牛客网《剑指offer》专题。

给定一个数组和滑动窗口的大小,找出所有滑动窗口里数值的最大值。例如,如果输入数组{2,3,4,2,6,2,5,1}及滑动窗口的大小3,那么一共存在6个滑动窗口,他们的最大值分别为{4,4,6,6,6,5}; 针对数组{2,3,4,2,6,2,5,1}的滑动窗口有以下6个: {[2,3,4],2,6,2,5,1}, {2,[3,4,2],6,2,5,1}, {2,3,[4,2,6],2,5,1}, {2,3,4,[2,6,2],5,1}, {2,3,4,2,[6,2,5],1}, {2,3,4,2,6,[2,5,1]}。

Go语言实现:

func maxInWindows(nums []int, k int) []int {
length := len(nums)
if length == 0 || k <= 0 || length < k {
return nil
}
var result []int
//数组为0123456,k=3,第一层循环处理到01234
for i := 0; i <= length-k; i++ {
if k == 1 {
return nums
}
//分别以01234开始,比较3位,取最大值
temp := nums[i]
for j := i+1; j < i+k; j++ {
if nums[j] > temp {
temp = nums[j]
}
}
result = append(result, temp)
}
return result
}

Go语言实现:【剑指offer】滑动窗口的最大值的更多相关文章

  1. 剑指offer——滑动窗口的最大值

    给定一个数组和滑动窗口的大小,找出所有滑动窗口里数值的最大值.例如,如果输入数组{2,3,4,2,6,2,5,1}及滑动窗口的大小3,那么一共存在6个滑动窗口,他们的最大值分别为{4,4,6,6,6, ...

  2. 剑指0ffer59.滑动窗口的最大值

    给定一个数组 nums 和滑动窗口的大小 k,请找出所有滑动窗口里的最大值. 示例: 输入: nums = [1,3,-1,-3,5,3,6,7], 和 k = 3输出: [3,3,5,5,6,7] ...

  3. 剑指offer64:滑动窗口的最大值

    题目描述: 给定一个数组和滑动窗口的大小,找出所有滑动窗口里数值的最大值.例如,如果输入数组{2,3,4,2,6,2,5,1}及滑动窗口的大小3,那么一共存在6个滑动窗口,他们的最大值分别为{4,4, ...

  4. 剑指offer--50.滑动窗口的最大值

    时间限制:1秒 空间限制:32768K 热度指数:157641 题目描述 给定一个数组和滑动窗口的大小,找出所有滑动窗口里数值的最大值.例如,如果输入数组{2,3,4,2,6,2,5,1}及滑动窗口的 ...

  5. 【Java】 剑指offer(59-2) 队列的最大值

      本文参考自<剑指offer>一书,代码采用Java语言. 更多:<剑指Offer>Java实现合集   题目 请定义一个队列并实现函数max得到队列里的最大值,要求函数ma ...

  6. 剑指Offer-滑动窗口的最大值

    题目描述 给定一个数组和滑动窗口的大小,找出所有滑动窗口里数值的最大值.例如,如果输入数组{2,3,4,2,6,2,5,1}及滑动窗口的大小3,那么一共存在6个滑动窗口,他们的最大值分别为{4,4,6 ...

  7. [剑指Offer]59-队列的最大值(题目二待补)

    题目一:滑动窗口的最大值 题目链接 https://www.nowcoder.com/practice/1624bc35a45c42c0bc17d17fa0cba788?tpId=13&tqI ...

  8. 剑指offer——68队列的最大值

    题目描述 给定一个数组和滑动窗口的大小,找出所有滑动窗口里数值的最大值.例如,如果输入数组{2,3,4,2,6,2,5,1}及滑动窗口的大小3,那么一共存在6个滑动窗口,他们的最大值分别为{4,4,6 ...

  9. 剑指offer——69队列的最大值

    题目: 队列的最大值.请定义一个队列并实现函数max得到队列里的最大值,要求函数max.push_back和pop_front的时间复杂度都是O(1). 题解: 使用队列,操持队列的排序为从大到小的顺 ...

  10. 剑指offer 59-II 队列的最大值

    题目描述 请定义一个队列并实现函数 max_value 得到队列里的最大值,要求函数max_value.push_back 和 pop_front 的均摊时间复杂度都是O(1). 若队列为空,pop_ ...

随机推荐

  1. 原生javascript实现二级延时菜单

    一.实现原理: 使用定时器和排他思想完成 二.代码: <!DOCTYPE html> <html> <head> <title></title&g ...

  2. pc和H5响应式方案

    pc响应式:(所有应用在pc端) 解决方案1.媒体查询 2.flex,百分比  3.栅格布局 媒体查询 @media screen and (max-width:768px) @media scree ...

  3. MongoDB Community 的安装和卸载

    MongoDB在他们的仓库中提供官方支持的包,该仓库包括以下软件包 mongodb-org:自动安装下面的四个组件安装包 a.mongodb-org-server:mongod的守护进程和相关的配置以 ...

  4. js复制变量值

    来源:JavaScript高级程序设计(第3版)69页. 例如 : var a=1;   var b = a  ;      这里就是把a的值复制给变量  b   了. 但是 复制的变量值  分为  ...

  5. Django3.0.2学习踩坑记

    配置文件settings.py相关: 新增app INSTALLED_APPS = [ 'polls.apps.PollsConfig', # 这个是新增的APP 'django.contrib.ad ...

  6. 【C&数据结构】---关于链表结构的前序插入和后序插入

    刷LeetCode题目,需要用到链表的知识,忽然发现自己对于链表的插入已经忘得差不多了,以前总觉得理解了记住了,但是发现真的好记性不如烂笔头,每一次得学习没有总结输出,基本等于没有学习.连复盘得机会都 ...

  7. 每天玩转3分钟 MyBatis-Plus - 2. 普通查询

    每天玩转3分钟 MyBatis-Plus - 1. 配置环境 每天玩转3分钟 MyBatis-Plus - 2. 普通查询 mybatis-plus的查询功能非常强大, 这一篇,我们来看下mybati ...

  8. 线程上下文类加载器ContextClassLoader内存泄漏隐患

    前提 今天(2020-01-18)在编写Netty相关代码的时候,从Netty源码中的ThreadDeathWatcher和GlobalEventExecutor追溯到两个和线程上下文类加载器Cont ...

  9. Spring加载早期获取BasePackage

    public class GetBasePackage { private Class<? extends Annotation> annotation; public GetBasePa ...

  10. python+win32--com实现excel自动化

    import win32com  APP_TYPE = 'Excel.Application'  xlBlack,xlRed,xlGray,xlBlue = 1,3,15,41 xlBreakFull ...