一、题目
二、分析
1.双指针:在一个递增数组里,一头 i 指向数组里的最小值,一头 j 指向数组里的最大值,当 i + j 的值大于目标值,说明 j 的当前数组太大,要向左边递减,反之小于目标值,i 的当前数组太小,要向右边递增。
三、代码
/** * @param {number[]} nums * @param {number} target * @return {number[]} */ var twoSum = function(nums, target) { let i = 0; let j = nums.length-1; while( i<j ){ if( nums[i] + nums[j] === target) return [nums[i],nums[j]]; if( nums[i] + nums[j] > target) j--; else i++; } return null; };
分类:
刷题
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具