欢迎来到起遇信息学
起遇信息学正处于上线筹建阶段,以下功能已全部开放免费体验: ✅ 完整题库浏览与代码提交评测(C / C++ / Python / Java 等) ✅ 入门到进阶的系列课程试读、作业与考试 ✅ AI 提示、AI 作业分析等智能助教功能 ✅ 赛事模拟与个人能力报告 ✅ 邮箱注册开放 ⏳ 付费课程订阅与微信/支付宝支付通道 ⏳ 手机号登录,微信扫码登录、微信公众号绑定 使用中如遇任何问题,欢迎通过页面底部 **"联系我们"** 与我们沟通。
S42405.24-5 寻找长链
24-5 寻找长链
寻找长链
记忆排列好了,但Zero的数据结构里还有链——需要找最长的。
"长链?"CC问。
"对。"你说,"给定个数,找最长的连续子序列,使得和不超过。"
"连续?"
"对。"你说,"子序列中的数在原序列中连续。"
"和?"
"对。"你说,"子序列中所有数的和。"
"咋找?"
"双指针。"你说,"右指针往右移,累加和;如果和超过,左指针往右移,减。"
"?"
"对。"你说,"两个指针各走一遍。"
"第47个数。"你说,"值为47——如果,单独一个就接近上限。"
"能加别的吗?"
"看其他数多大。"你说,"如果都是1,还能加53个。"
"最长?"
"对。"你说,"在满足和的前提下,尽量长。"
"像贪吃蛇?"
"对。"你说,"像贪吃蛇——吃数字,但不能撑死。"
"撑死?"
"对。"你说,"和超过就撑死了。"
"咋不死?"
"吐。"你说,"左指针右移,吐掉左边的数。"
"吐了再吃?"
"对。"你说,"吐了再吃,保持不撑。"
CC看着那条链——像一条蛇,像一条河,像某种可以伸缩的东西。
"最长多长?"她问。
"算出来才知道。"你说,"但肯定有一条最长的。"
"能找到?"
"能。"你说,"双指针一定能找到。"
Echo把长链标记出来——像一条亮线,在暗色的数据中穿行。
"以前我只看单个点。"她说,"现在……看见整条链了。"
"因为你在拉伸视野。"你说。
"对。"她说,"因为我在拉伸视野。"
题目描述
给定长度为的正整数序列,找最长连续子序列使得和不超过。
输入格式
第一行和。第二行个整数。
输出格式
最长连续子序列的长度。
输入样例
5
1 2 3 4 5
输出样例
0
提示
- 双指针(滑动窗口)。
- 右指针扩展,左指针收缩。
- 时间复杂度。
在线编程 IDE
建议全屏模式获得最佳体验
| 进入全屏编程 | Alt+E |
| 递交评测 | Ctrl+Enter |
| 注释/取消注释 | Ctrl+/ |
| 缩放字体 | Ctrl+滚轮 |