拼多多服务端实习生笔试-滑动窗口2018/4/3
有一整数数组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相关推荐
- 2019.9.1 拼多多 服务端研发-笔试(C++)
拼多多的笔试没有选择题,直接是四道编程题,非常干脆直接,上手就是干! 优先偶数的有序TopN 题目描述: 读入一个数列和N值,返回按优先级排序的N个数,满足: (1)所有偶数优先级大于奇数 (2)同为 ...
- 拼多多服务端研发工程师笔试
拼多多服务端研发工程师笔试(2021年7月25日下午三点场) 前言+说明 一.算法编程题 题目描述 输入描述 输出描述 示例1 示例2 参考代码: 二.算法编程题 题目描述 输入描述 输出描述 示例1 ...
- 拓嘉辰丰电商:拼多多服务激励分有什么意义?怎样查看
拼多多服务激励分可能很多人对这个名词比较的陌生,拼多多平台总是有各种的指标来规范商家的行为,激励商家做优质商品.优质服务,拼多多平台在发展的同时也在不断的完善,那么今天小编就给大家分享分享拼多多服务激 ...
- 拼多多台式计算机主机,拼多多电脑端直播,遇这些问题怎么解决?
为保证多多直播的流畅和画面清晰度,很多主播会选择使用电脑进行直播.那对于有一定直播经验的商家来说,用电脑做直播自然胸有成竹.但对于不少多多直播新人,在电脑端直播有很多问题无法得到解决,今天小编就来详细 ...
- 2016届360公司PHP服务端开发笔试和面试之所得所感
这是一篇叙述自己在360公司参加笔试和面试的过程,可能面试的职位并不是你所学的方向,但是如果你能从中学到些什么或者吸取我的教训,那么作者就非常知足了.本着"学习别人是怎么失败的,活着出来的人 ...
- 传奇服务端服务端运行7个窗口的各窗口功能讲解
大家都知道打开传奇版本里的游戏引擎后,就会弹出7各窗口,下面给大家讲解下各窗口的功能定义 GameCenter是游戏服务器启动程序,负责将DBServer.exe处转来的客户 端转发到相应的M2Ser ...
- 从外卖员到程序员,自学3年终于转行成功,三面“拿下”拼多多,把经历分享给你们!
先来自我介绍: 老家农村,家里好不容易把我送到大城市读书,大学非985,211,但在我们老家,能出一个本科大学生也是非常不容易的.因为农村信息的相对闭塞,我对大学专业一无所知,加上分数并非前茅,最后被 ...
- 三面拼多多顺利斩获offer,来自初入职场的面试经验分享
滴滴~ 金三银四求职季已经来啦,在这个各大名企最求贤若渴的时候,你还没有投出简历准备"应战"吗?今天就给大家分享一篇拼多多-服务端开发工程师的真实面经,希望可以帮到你! 一面: 首 ...
- 从外卖员到拼多多程序工程师,三面拿下电子offer,成功转行!
前言 java作为目前火的计算机语言之一,一直都是程序员喜爱的计算机语言,java更是蝉联连续几年的计算机语言榜首,因此每年入职的java程序员都居高不下.当然,在入职之前,都是要经过面试的,那么ja ...
最新文章
- Ansible :一个配置管理和IT自动化工具
- rust货轮什么时候出现_与 Rust 在一起的四年
- MyEclipse 16(汉化版)安装教程
- 计算机一级单元格公式设置错误是什么原因,excel表格公式出错怎么解决,电子表格求和出错...
- AAAIT学院JDK15新特性JAVA15版本
- python多任务编程_python线程的多任务编程
- Qt工作笔记-Qt连接Mysql数据库,检索及修改表数据
- 【openwrt】使用4G模块 移远EC20/25(1)内核配置
- imx6ul:uboot-2013.10启动过程解析
- 用Vue.js做了一个九宫格图片展示模块(可点击进行缩放)
- Oracle ASM理论及实践介绍
- 用html语言编写美食栏目 源码,仿美食网首页html+css 完全源码和图片
- textarea 手机端无法换行_在某一些手机的安卓浏览器上textarea标签的placeholder不自动换行的解决方法...
- Opencv -- 18图像像素类型转换与归一化
- Qt中SQL QSqlQuery 对象中prepare() 函数的用法
- STM32之vl53l0x读取距离
- 工业互联网企业蘑菇物联获数千万元A轮融资,元禾原点资本领投
- 如何下载npm离线安装包
- encode decode
- ShardingSphere核心源码剖析