首页
题库
公司真题
专项练习
面试题库
在线编程
面试
面试经验
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
全部评论
推荐
最新
楼层
暂无评论,快来抢首评~
相关推荐
昨天 12:43
华中师范大学 Java
美团-3.14-26年春招第一场笔试【技术方向】(转正)
26春招?不是暑期实习吗,难道我投错了?笔试10道选择题 选择题里面有后端的也有大模型相关的,难度适中会的就会,不会的真也就真不会,还有个计算时间复杂度的选择题,不是很会算。 3道算法题1. 给定一个区间 [l,r],求区间内的数的因子有奇数个的个数。 开始用两层for循环来做,过了25%的测试用例,然后超时了,然后想用记忆表来做,没想出来,最后想到了完全平方数的公式。2. 超级斐波那契数列,用DP做的3. 跟图相关的问题,直接投降了,输入都处理不出来-------------------算法是ACM模式,要自己处理输入输出,难顶,中间手快切了两次屏,团子放过我
点赞
评论
收藏
分享
03-12 13:33
网易_前端(实习员工)
小红书国际化前端一面
面经面试时间:1月份,日常实习,部门是国际化(还挺想去的,最后一面挂了(一)项目实践与工程化类实习中挑一个最有挑战的经历介绍性能优化的具体落地动作(资源加载、渲染、运行阶段)?如何量化优化效果?(简历有提到如何理解 CDN?哪些资源适合放 CDN、哪些不适合?是否了解 CDN 动态加速?(简历有提到CDN虚拟列表的实现逻辑、核心优势(简历有提到AI 提效(cursor rules)的具体实践?(简历有提到skills 与rules 的核心区别是什么?(当时没回答好大模型与 2020 年前传统模型的本质区别?催生大模型出现的核心原因?(没回答好,扯到transformer前端开发中常用的设计模式...
查看19道真题和解析
点赞
评论
收藏
分享
03-06 12:35
已编辑
三峡大学科技学院 Java
学院本求拷打
考研下岸了,大四上没去校招,现在没实习经验,简历投进去但是过不了筛😣,各位🐮友有什么高见吗
实习,投递多份简历没人回...
点赞
评论
收藏
分享
02-27 20:24
湖北汽车工业学院 嵌入式硬件工程师
找硬件工程师
boss上好多已读不回😭😭,简历求修改
点赞
评论
收藏
分享
03-11 09:33
吉林农业大学 算法工程师
AI-Agent 面试题汇总 - 数据结构与算法篇
一、背景知识1. Python 数据结构Python常见内置数据结构有:list、tuple、dict、set、str。面试重点通常是时间复杂度和应用场景:list:动态数组,支持随机访问,尾部增删快,头部插入删除慢tuple:不可变序列,适合只读数据,哈希友好dict:哈希表实现,键查找/插入平均O(1)set:不重复集合,去重和成员判断高效(平均O(1))str:不可变字符串,切片会创建新对象 # 常见复杂度示例 arr = [1, 2, 3] arr.append(4) # 平均 O(1) arr.insert(0, 0) # O(n) d = {"a": 1} pr...
AI-Agent面试实战...
点赞
评论
收藏
分享
评论
点赞成功,聊一聊 >
点赞
收藏
分享
评论
提到的真题
返回内容
全站热榜
更多
1
...
快手Java后端一面
4435
2
...
转转二面
4186
3
...
滴滴一面面经
4080
4
...
字节后端日常实习二面
3916
5
...
腾讯前端暑期提前批一、二、三面面经
3869
6
...
6个AI实操技巧,帮你在简历+面试中拉开差距
3488
7
...
腾讯暑期一面
3025
8
...
美团产品笔试何意为....
2555
9
...
阿里云一面
2410
10
...
实习学不到东西的真相
2350
创作者周榜
更多
正在热议
更多
#
你感受到金三银四了嘛?
#
69946次浏览
611人参与
#
美团笔试
#
695287次浏览
4623人参与
#
虽然0面试,但今天___,夸夸自己
#
8623次浏览
172人参与
#
米哈游笔试
#
550850次浏览
1088人参与
#
春招 / 实习投递,你最焦虑的一件事
#
52590次浏览
1024人参与
#
vivo笔试
#
12990次浏览
122人参与
#
27届实习投递记录
#
842次浏览
22人参与
#
AI岗位暴涨12倍,你会转AI赛道吗?
#
4518次浏览
90人参与
#
今天你投了哪些公司?
#
143208次浏览
2590人参与
#
金三银四,你的春招进行到哪个阶段了?
#
18620次浏览
254人参与
#
运营每日一题
#
127420次浏览
900人参与
#
美团秋招笔试
#
194637次浏览
1065人参与
#
小米编程考试
#
31225次浏览
151人参与
#
字节7000实习来了,你投了吗?
#
4297次浏览
20人参与
#
刚工作的你,踩过哪些坑?
#
5971次浏览
136人参与
#
AI项目实战
#
6495次浏览
306人参与
#
小米笔试
#
139024次浏览
994人参与
#
找工作,你都让AI帮你做什么?
#
6666次浏览
213人参与
#
软件开发春招备战日记
#
92997次浏览
611人参与
#
vivo求职进展汇总
#
277798次浏览
1558人参与
牛客网
牛客网在线编程
牛客网题解
牛客企业服务