首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
AI 模拟面试
简历
求职
学习
基础学习课
实战项目课
求职辅导课
专栏&文章
竞赛
搜索
我要招人
发布职位
发布职位、邀约牛人
更多企业解决方案
AI面试、笔试、校招、雇品
HR免费试用AI面试
最新面试提效必备
登录
/
注册
haostart
中国科学技术大学 嵌入式软件工程师
发布于安徽
关注
已关注
取消关注
@Locam:
题解 | #平均数为k的最长连续子数组#
前缀和+哈希表思路:将输入数组中的元素减去k可将题目转化为“和为0的最长连续子数组”。进一步,为省去重复计算,使用前缀和处理数组。使用哈希表记录前缀和数组中每个值第一次出现的位置,遍历数组找到相同的值便计算距离并更新最大值即可。上述前缀和数组可优化为一个变量。python参考代码:import sysfrom itertools import *a = []for line in sys.stdin: a += line.split()a = list(map(int, a))n, k = a[0], a[1]a = a[2:]for i in range(n): a[i] -= ka = list(accumulate(a, initial = 0))s = {}ans = -1for i, v in enumerate(a): if v not in s: s[v] = i else: ans = max(ans, i - s[v])print(ans)Java参考代码:import java.util.*;// 注意类名必须为 Main, 不要有任何 package xxx 信息public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); int n = in.nextInt(), k = in.nextInt(); long[] nums = new long[n + 1]; int i = 0, ans = -1; Map<Long, Integer> map = new HashMap<>(); map.put(0L, 0); // 注意 hasNext 和 hasNextLine 的区别 while (in.hasNextInt()) { // 注意 while 处理多个 case nums[++i] += in.nextInt() - k + nums[i - 1]; if(!map.containsKey(nums[i])) map.put(nums[i], i); else ans = Math.max(ans, i - map.get(nums[i])); } System.out.println(ans); }}Java前缀和优化:import java.util.*;// 注意类名必须为 Main, 不要有任何 package xxx 信息public class Main { public static void main(String[] args) { Scanner in = new Scanner(System.in); int n = in.nextInt(), k = in.nextInt(); long s = 0; int ans = -1; Map<Long, Integer> map = new HashMap<>(); map.put(0L, 0); // 注意 hasNext 和 hasNextLine 的区别 for (int i = 1; i <= n; i++) { // 注意 while 处理多个 case s += in.nextInt() - k; if(!map.containsKey(s)) map.put(s, i); else ans = Math.max(ans, i - map.get(s)); } System.out.println(ans); }}
点赞 8
评论 1
全部评论
推荐
最新
楼层
暂无评论,快来抢首评~
相关推荐
03-13 10:38
已编辑
拼多多集团-PDD_服务端研发工程师(准入职员工)
实习第一天,我在群里问:"这个系统QPS多少?"
"你猜。"导师发了个表情包。 我试探性地打出:"1万?" "再猜。" "10万?" 导师直接甩了张监控大盘的截图过来。 我盯着屏幕上跳动的数字,手指在键盘上悬停了三秒—— 峰值QPS:380万。 "这……这是真实业务?"我打字的手都在抖。 "欢迎来到拼多多。"导师回了一句,"明天技术评审,你来讲讲这个模块的容灾方案。" 我愣在工位上,打开了刚分配给我的代码仓库。 三个月后 秋招群里有人发消息:"兄弟们,有没有做过高并发系统的?面试官问我怎么设计一...
点赞
评论
收藏
分享
03-10 12:25
门头沟学院 Java
杭州小厂 零零科技 后端面经
一、开场 1. 先简单做一下自我介绍2. 简单介绍一下 Java 中常用的 HashMap,以及 1.8 之后有什么优化 二、Java 基础 3. 红黑树相对于链表有什么优点4. 简述 JVM 有哪些内存结构5. 哪些区域比较容易发生 OOM6. 程序计数器会不会发生 OOM 三、Spring 框架 7. 解释一下 Spring 的 IOC 和 AOP 核心思想8. AOP 一般在项目中用到哪些场景 四、数据库 9. 什么是数据库事务的 ACID 特性10. MySQL 默认底层引擎是什么11. InnoDB 的数据结构采用哪些12. B+树和 B 树有什么区别13. B+树为了范围查询更快,...
查看29道真题和解析
点赞
评论
收藏
分享
03-10 21:04
河南工程学院 C++
没想到我这种菜鸟也会有大厂面试
拼多多测试一面,
点赞
评论
收藏
分享
03-08 18:24
西安邮电大学 Java
求拷打27届简历
简历如下,求拷打😭还能有机会去中大厂实习吗,想找到暑期实习
点赞
评论
收藏
分享
今天 02:38
已编辑
东莞职业技术学院 Java
2025-11-03 Moka一二面
一面自我介绍实习介绍仿分布式事务分布式事务中间件接口幂等性traceId是怎么生成的,你是怎么保证traceId唯一的雪花算法能保证同个时间戳下id唯一吗?雪花算法+redis双id如果是moka这种招聘软件他是基于什么字段来分库分表的除了负载均衡,一致性哈希比这个哈希算法还有什么优势吗深分页多用户场景数据推送存在的oomsql优化那 Mysql 的索引是什么样的数据结构呢?它为什么会能够加快查询?数据结构是什么样的?数据结构b +树的一个叶子节点有多大?索引失效。有哪些场景?你刚刚提到的这个 between 之类的是有这么一个场景的,比如说我确实就要查询创建时间是从 25 年9月到 10 月...
想踩缝纫机的小师弟练...:
不是哥们,这是校招吗。。。。。。
发面经攒人品
点赞
评论
收藏
分享
评论
点赞成功,聊一聊 >
点赞
收藏
分享
评论
提到的真题
返回内容
全站热榜
更多
1
...
快手Java后端一面
4428
2
...
转转二面
4125
3
...
滴滴一面面经
3932
4
...
字节后端日常实习二面
3771
5
...
腾讯前端暑期提前批一、二、三面面经
3713
6
...
6个AI实操技巧,帮你在简历+面试中拉开差距
3460
7
...
腾讯暑期一面
2998
8
...
美团产品笔试何意为....
2500
9
...
阿里云一面
2360
10
...
实习学不到东西的真相
2351
创作者周榜
更多
正在热议
更多
#
你感受到金三银四了嘛?
#
69798次浏览
611人参与
#
美团笔试
#
695168次浏览
4623人参与
#
虽然0面试,但今天___,夸夸自己
#
8583次浏览
172人参与
#
米哈游笔试
#
550701次浏览
1088人参与
#
春招 / 实习投递,你最焦虑的一件事
#
52501次浏览
1023人参与
#
vivo笔试
#
12978次浏览
122人参与
#
27届实习投递记录
#
833次浏览
22人参与
#
AI岗位暴涨12倍,你会转AI赛道吗?
#
4493次浏览
90人参与
#
今天你投了哪些公司?
#
142811次浏览
2586人参与
#
金三银四,你的春招进行到哪个阶段了?
#
18606次浏览
254人参与
#
运营每日一题
#
127415次浏览
900人参与
#
美团秋招笔试
#
194618次浏览
1065人参与
#
小米编程考试
#
31198次浏览
151人参与
#
字节7000实习来了,你投了吗?
#
4276次浏览
20人参与
#
刚工作的你,踩过哪些坑?
#
5935次浏览
136人参与
#
AI项目实战
#
6470次浏览
306人参与
#
小米笔试
#
139003次浏览
994人参与
#
找工作,你都让AI帮你做什么?
#
6626次浏览
213人参与
#
软件开发春招备战日记
#
92994次浏览
611人参与
#
vivo求职进展汇总
#
277793次浏览
1558人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务