腾讯pcg C++后台开发一面

小Q在进行射击气球的游戏,如果小Q在连续T枪中打爆了所有颜色的气球,将得到一只QQ公仔作为奖励。(每种颜色的气球至少被打爆一只)。这个游戏中有m种不同颜色的气球,编号1到m。小Q一共有n发子弹,然后连续开了n枪。小Q想知道在这n枪中,打爆所有颜色的气球最少用了连续几枪?
输入描述:
第一行两个空格间隔的整数数n,m。n<=1000000 m<=2000
第二行一共n个空格间隔的整数,分别表示每一枪打中的气球的颜色,0表示没打中任何颜色的气球。
输出描述:
一个整数表示小Q打爆所有颜色气球用的最少枪数。如果小Q无法在这n枪打爆所有颜色的气球,则输出-1
示例
输入:
12 5
2 5 3 1 3 2 4 1 0 5 4 3
输出:
6

test
12 5
2 5 3 1 3 2 4 1 5 0 4 3
5

一开始理解错题了。。后来写了个O(N2)的遍历,最后面试官说就这么多吧马上要结束的时候忽然想起来了滑动窗口解,复杂度是O(N) (我不会算,最后问的面试官)
临死前想起来的QAQ
他说这个是最优解了,许愿一面能过把
#面经##校招##腾讯##C++工程师#
全部评论
我的题目和你一样,也是8点面的,就做这道题。
1 回复 分享
发布于 2020-08-25 22:27
也可以二分吧
点赞 回复 分享
发布于 2020-08-27 16:41
是不是遍历开始索引i,每次用个哈希表记录j指针,size()到5就结束,返回res=max(res,j-i+1)?
点赞 回复 分享
发布于 2020-08-26 20:50
最长无重复子串的变形
点赞 回复 分享
发布于 2020-08-26 14:55
题目看不懂,路过
点赞 回复 分享
发布于 2020-08-26 09:47
大佬,一面就做了一个题?没问项目什么的吗?
点赞 回复 分享
发布于 2020-08-25 21:37

相关推荐

27届毕业,最近想找一段大厂实习,感觉简历有些问题,好多都不给面,求大佬们指点,最近好焦虑
后端劝退第91人:我从后端的角度分析一下你的第一个项目,我感觉亮点不是很突出。因为我是因为组内有需求,临时上手学react干活。我用到的技术基本就cover你那个智慧园区管理平台的很多亮点了。那作为比较专业的前端,你上述的内容是不是有点单薄呢。感觉还得包装
点赞 评论 收藏
分享
notbeentak...:真的nc,算毕业6月份,要给这种b公司打半年多白工😅
点赞 评论 收藏
分享
已注销:bro不如吃顿疯狂星期四
点赞 评论 收藏
分享
评论
4
15
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务