news 2026/4/15 18:16:49

力扣刷题:文件组合

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
力扣刷题:文件组合

题目:
待传输文件被切分成多个部分,按照原排列顺序,每部分文件编号均为一个 正整数(至少含有两个文件)。传输要求为:连续文件编号总和为接收方指定数字 target 的所有文件。请返回所有符合该要求的文件传输组合列表。

注意,返回时需遵循以下规则:

每种组合按照文件编号 升序 排列;
不同组合按照第一个文件编号 升序 排列。

示例 1:

输入:target = 12
输出:[[3, 4, 5]]
解释:在上述示例中,存在一个连续正整数序列的和为 12,为 [3, 4, 5]。

示例 2:

输入:target = 18
输出:[[3,4,5,6],[5,6,7]]
解释:在上述示例中,存在两个连续正整数序列的和分别为 18,分别为 [3, 4, 5, 6] 和 [5, 6, 7]。

解析:
这道题本质是寻找所有连续的正整数序列,这些序列的和等于给定的 target,序列长度至少为2
我们就可以设置一个滑动窗口来做,通过调整窗口左右边界,寻找和等于 target 的窗口

具体代码:

/** * 找出所有和为target的连续正整数序列 * @param {number} target - 目标和 * @return {number[][]} - 所有符合条件的连续正整数序列数组 */varfileCombination=function(target){// 初始状态:从数字1开始letsum=1// 当前窗口内数字的和,初始为[1]的和letlist=[1]// 滑动窗口,存储当前连续的整数序列letres=[]// 存储所有符合条件的序列// 遍历可能的连续序列// 从2开始,到Math.ceil(target/2)结束// 原因:最小的两个连续整数n和n+1,如果n > target/2,则n+(n+1)>targetfor(leti=2;i<=Math.ceil(target/2);i++){// 窗口向右扩展:将当前数字i加入窗口sum+=i// 更新窗口和list.push(i)// 将i加入窗口末尾// 如果窗口和超过target,需要从左侧收缩窗口// 不断移除窗口中最小的数字,直到窗口和≤targetwhile(sum>target){sum-=list.shift()// 移除窗口最左侧的数字,并更新和}// 检查当前窗口和是否正好等于targetif(sum===target){// 找到符合条件的序列,深拷贝当前窗口并保存res.push([...list])// 使用扩展运算符创建数组副本}}// 返回所有找到的连续序列returnres}
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/11 10:32:31

从零构建高质量RAG系统:数据解析最佳实践与工具选型(建议收藏)

最近有个人问了我一个问题&#xff0c;非常有代表性。他刚接触RAG&#xff0c;跟着网上的教程&#xff0c;用LangChain框架快速搭起了一套问答系统。他用框架自带的PyPDFLoader加载了公司的几份PDF报告&#xff0c;流程跑通了&#xff0c;但一测试就傻眼了&#xff1a;模型的回…

作者头像 李华
网站建设 2026/4/10 17:08:03

30+该如何转型大模型?AI大模型学习路线路径,巨详细!

“35岁程序员”这个词组&#xff0c;在中国互联网上几乎成了某种禁忌。但当38岁的王强收到第三份大模型算法工程师的录用通知时&#xff0c;他意识到年龄不是障碍&#xff0c;技能才是。 2025年&#xff0c;大模型技术正重塑程序员职业版图。猎聘大数据显示&#xff0c;AI技术…

作者头像 李华
网站建设 2026/4/15 9:15:46

聊一聊银行测试的到底做什么

有一次去银行面试&#xff0c;面试官看我简历上有一个金融项目&#xff0c;于是问我&#xff1a;你觉得金融项目跟常规项目的测试有什么区别&#xff1f; 坦白说我当初测试时还真没总结过有什么区别&#xff0c;所以临时想了几点说了说&#xff0c;其实自己当时也不知道有没有…

作者头像 李华
网站建设 2026/4/15 21:04:35

UI自动化测试之设计框架

目的相信做过测试的同学都听说过自动化测试&#xff0c;而UI自动化无论何时对测试来说都是比较吸引人的存在。相较于接口自动化来说它可以最大程度的模拟真实用户的日常操作与特定业务场景的模拟&#xff0c;那么存在即合理&#xff0c;自动化UI测试自然也是广大测试同学职业道…

作者头像 李华
网站建设 2026/4/13 0:27:15

料箱输送线程序:从硬件到软件的探秘

料箱输送线程序&#xff0c;带目的地跟踪&#xff0c;提供设备布局图和电气图纸以及博途程序。 程序语言较多使用了STL&#xff0c;程序仅供学习参考。 硬件配置&#xff1a;PLC&#xff1a;1515-2 PN HMI:TP700 Confort 主要设备有&#xff1a;英特诺直流辊筒电机&#xff0c;…

作者头像 李华
网站建设 2026/4/15 5:44:12

springboot基于java的城市公交在线查询系统

3系统分析 所谓系统分析&#xff0c;就是将自己对某一系统的构思以书面形式体现出来&#xff0c;并以此为基础&#xff0c;进行后续的软件设计和开发。在软件开发初期&#xff0c;人们对系统分析还不够重视&#xff0c;导致最终系统验收时&#xff0c;需要进行较大修改&#xf…

作者头像 李华