有一整数数组A[n],滑动窗口大小为k,在A上从左到右移动,每次一步,求此过程中每步的子数组的最大值与最小值的差值

eg:

数组A=1 3 -1 -3 5 3 6 7      k=3

滑动窗口的位置                           最大值               最小值                    差值

[1 3 -1 -3] 5 3 6 7                              3                       -1                          4

1 [3 -1 -3] 5 3 6 7                              3                       -3                          6

1 3[ -1 -3 5 ]3 6 7                              5                       -3                          8

....

输入:
第一行:n  k     n代表数组A的长度,k代表滑动窗口大小

第二行:n个整数,即为A数组

输出:包含n-k+1个整数,表示每步的子数组的最大值与最小值的差值

样例:

输入

8 3

1 3 -1 -3 5 3 6 7

输出

4 6 8 8 3 4

两种语言,方法相同

C++(没有提交,不确定会不会超时)

#include <iostream>
#include <cstdio>
#include <cstring>
#include <vector>
#include <cstdlib>
#include <algorithm>
using namespace std;
int a[100005];
int main()
{int n,k;int maxs,mins;while(scanf("%d%d",&n,&k)){for(int i=1; i<=n; i++){scanf("%d",&a[i]);}maxs=a[1];mins=a[1];for(int j=2; j<=k; j++){if(a[j]>maxs)maxs=a[j];if(a[j]<mins)mins=a[j];}printf("%d",maxs-mins);for(int i=k+1; i<=n; i++){if(a[i-k]==maxs||a[i-k]==mins){maxs=a[i-k+1];mins=a[i-k+1];for(int j=i-k+2; j<=i; j++){if(a[j]>maxs)maxs=a[j];if(a[j]<mins)mins=a[j];}}else{if(a[i]>maxs){maxs=a[i];}if(a[i]<mins){mins=a[i];}}printf(" %d",maxs-mins);} printf("\n");}return 0;
}

python3(AC)

n_k = input()
n,k = map(int,n_k.split(' '))
data = input()
_list = list(map(int,data.split(' ')))
anslist = []
slide = _list[0:k]
_max = max(slide)
_min = min(slide)
anslist.append(_max-_min)
for poi in range(n-k):if _list[poi] == _max:_max = max(_list[poi+1:poi+k+1])_min = min(_min,_list[poi+k])elif _list[poi] == _min:_min = min(_list[poi+1:poi+k+1])_max = max(_max,_list[poi+k])else:_max = max(_max,_list[poi+k])_min = min(_min,_list[poi+k])anslist.append(_max-_min)
print(' '.join(map(str,anslist)))

转载于:https://www.cnblogs.com/dshn/p/8711213.html

拼多多服务端实习生笔试-滑动窗口2018/4/3相关推荐

  1. 2019.9.1 拼多多 服务端研发-笔试(C++)

    拼多多的笔试没有选择题,直接是四道编程题,非常干脆直接,上手就是干! 优先偶数的有序TopN 题目描述: 读入一个数列和N值,返回按优先级排序的N个数,满足: (1)所有偶数优先级大于奇数 (2)同为 ...

  2. 拼多多服务端研发工程师笔试

    拼多多服务端研发工程师笔试(2021年7月25日下午三点场) 前言+说明 一.算法编程题 题目描述 输入描述 输出描述 示例1 示例2 参考代码: 二.算法编程题 题目描述 输入描述 输出描述 示例1 ...

  3. 拓嘉辰丰电商:拼多多服务激励分有什么意义?怎样查看

    拼多多服务激励分可能很多人对这个名词比较的陌生,拼多多平台总是有各种的指标来规范商家的行为,激励商家做优质商品.优质服务,拼多多平台在发展的同时也在不断的完善,那么今天小编就给大家分享分享拼多多服务激 ...

  4. 拼多多台式计算机主机,拼多多电脑端直播,遇这些问题怎么解决?

    为保证多多直播的流畅和画面清晰度,很多主播会选择使用电脑进行直播.那对于有一定直播经验的商家来说,用电脑做直播自然胸有成竹.但对于不少多多直播新人,在电脑端直播有很多问题无法得到解决,今天小编就来详细 ...

  5. 2016届360公司PHP服务端开发笔试和面试之所得所感

    这是一篇叙述自己在360公司参加笔试和面试的过程,可能面试的职位并不是你所学的方向,但是如果你能从中学到些什么或者吸取我的教训,那么作者就非常知足了.本着"学习别人是怎么失败的,活着出来的人 ...

  6. 传奇服务端服务端运行7个窗口的各窗口功能讲解

    大家都知道打开传奇版本里的游戏引擎后,就会弹出7各窗口,下面给大家讲解下各窗口的功能定义 GameCenter是游戏服务器启动程序,负责将DBServer.exe处转来的客户 端转发到相应的M2Ser ...

  7. 从外卖员到程序员,自学3年终于转行成功,三面“拿下”拼多多,把经历分享给你们!

    先来自我介绍: 老家农村,家里好不容易把我送到大城市读书,大学非985,211,但在我们老家,能出一个本科大学生也是非常不容易的.因为农村信息的相对闭塞,我对大学专业一无所知,加上分数并非前茅,最后被 ...

  8. 三面拼多多顺利斩获offer,来自初入职场的面试经验分享

    滴滴~ 金三银四求职季已经来啦,在这个各大名企最求贤若渴的时候,你还没有投出简历准备"应战"吗?今天就给大家分享一篇拼多多-服务端开发工程师的真实面经,希望可以帮到你! 一面: 首 ...

  9. 从外卖员到拼多多程序工程师,三面拿下电子offer,成功转行!

    前言 java作为目前火的计算机语言之一,一直都是程序员喜爱的计算机语言,java更是蝉联连续几年的计算机语言榜首,因此每年入职的java程序员都居高不下.当然,在入职之前,都是要经过面试的,那么ja ...

最新文章

  1. Ansible :一个配置管理和IT自动化工具
  2. rust货轮什么时候出现_与 Rust 在一起的四年
  3. MyEclipse 16(汉化版)安装教程
  4. 计算机一级单元格公式设置错误是什么原因,excel表格公式出错怎么解决,电子表格求和出错...
  5. AAAIT学院JDK15新特性JAVA15版本
  6. python多任务编程_python线程的多任务编程
  7. Qt工作笔记-Qt连接Mysql数据库,检索及修改表数据
  8. 【openwrt】使用4G模块 移远EC20/25(1)内核配置
  9. imx6ul:uboot-2013.10启动过程解析
  10. 用Vue.js做了一个九宫格图片展示模块(可点击进行缩放)
  11. Oracle ASM理论及实践介绍
  12. 用html语言编写美食栏目 源码,仿美食网首页html+css 完全源码和图片
  13. textarea 手机端无法换行_在某一些手机的安卓浏览器上textarea标签的placeholder不自动换行的解决方法...
  14. Opencv -- 18图像像素类型转换与归一化
  15. Qt中SQL QSqlQuery 对象中prepare() 函数的用法
  16. STM32之vl53l0x读取距离
  17. 工业互联网企业蘑菇物联获数千万元A轮融资,元禾原点资本领投
  18. 如何下载npm离线安装包
  19. encode decode
  20. ShardingSphere核心源码剖析

热门文章

  1. iview select 内存泄漏_Vue遇到的内存泄漏排查处理
  2. bootstrap 步骤条_无骨香酥炸鸡柳,做法原来如此简单,3个关键步骤,学会可以开店...
  3. git创建版本库(1)
  4. SQL Server 新增数据表数据
  5. 词法分析 有穷自动机
  6. 数据链路层的差错控制ARQ
  7. 数据库实验6 数据库的分组查询和统计查询
  8. 人群与网络:万维网结构、链接分析与网络搜索
  9. bzoj 3436: 小K的农场(差分约束)
  10. [paper reading] RetinaNet