力扣---指针题
双指针167. 两数之和 II - 输入有序数组1.要求2.思路633. 平方数之和1.要求2.思路345. 反转字符串中的元音字母1.要求2.思路680. 验证回文字符串 Ⅱ1.要求2.思路88. 合并两个有序数组1.要求2.思路141. 环形链表1.要求2.思路524. 通过删除字母匹配到字典里最长单词1.要求2.思路167. 两数之和 II - 输入有序数组1.要求给定一个已按照升序排列 的有序数组找到两个数使得它们相加之和等于目标数。函数应该返回这两个下标值 index1 和 index2其中 index1 必须小于 index2。说明:返回的下标值index1 和 index2不是从零开始的。你可以假设每个输入只对应唯一的答案而且你不可以重复使用相同的元素。示例:输入: numbers [2, 7, 11, 15], target 9输出: [1,2]解释: 2 与 7 之和等于目标数 9 。因此 index1 1, index2 2 。2.思路给定两个指针一个指针指向值较小的元素一个指针指向值较大的元素。指向较小元素的指针从头向尾遍历指向较大元素的指针从尾向头遍历。如果sum为target 达到要求结果如果大于target,移动较大的元素如果小于target 移动较小的元素。classSolution{publicint[]twoSum(int[]numbers,int target){int i0;int jnumbers.length-1;while(ij){int sumnumbers[i]numbers[j];if(sumtarget){returnnewint[]{i1,j1};}elseif(sumtarget){i;}else{j--;}}returnnull;}}classSolution:deftwoSum(self,numbers:List[int],target:int)-List[int]:i0jlen(numbers)-1whileij:sum1numbers[i]numbers[j];ifsum1target:return[i1,j1]elif sum1target:i1else:j-1returnnull参考https://github.com/CyC2018/CS-Notes/blob/master/notes/Leetcode%20%E9%A2%98%E8%A7%A3%20-%20%E5%8F%8C%E6%8C%87%E9%92%88.md633. 平方数之和1.要求给定一个非负整数 c 你要判断是否存在两个整数 a 和 b使得 a2 b2 c。示例1:输入: 5输出: True解释: 1 * 1 2 * 2 5示例2:输入: 3输出: False2.思路两个指针一个指向小的元素一个指向大的元素最大就是本身如果小于就使得小的指针向大移动大于就使得大的指针向小的移动。改进 大的指针的数不可能是target** -2所以大的指针最多到target**-2.即小于平方根。classSolution{publicbooleanjudgeSquareSum(int c){int i0;int j(int)Math.sqrt(c);while(ij){int sumi*ij*j;if(sumc){returntrue;}elseif(sumc){i;}else{j--;}}returnfalse;}}classSolution:defjudgeSquareSum(self,c:int)-bool:i0jmath.floor(math.sqrt(c))print(j)whileij:sum1i**2j**2ifsum1c:returnTrue elif sum1c:j-1else:i1returnFalse345. 反转字符串中的元音字母1.要求编写一个函数以字符串作为输入反转该字符串中的元音字母。示例 1:输入: “hello”输出: “holle”示例 2:输入: “leetcode”输出: “leotcede”说明:元音字母不包含字母y。2.思路元音字符 aeiou双指针法一个记录小的元音字符一个记录大的元音字符然后交换。如果不包含就跳过。classSolution{privatefinalstaticHashSetCharactervowelsnewHashSet(Arrays.asList(a,e,i,o,u,A,E,I,O,U));publicStringreverseVowels(String s){int i0;int js.length()-1;char[]resultnewchar[s.length()];while(ij){char cis.charAt(i);char cjs.charAt(j);if(!vowels.contains(ci)){result[i]ci;}elseif(!vowels.contains(cj)){result[j--]cj;}else{result[i]cj;result[j--]ci;}}returnnewString(result);}}classSolution:defreverseVowels(self,s:str)-str:a1aeiouAEIOU;i0resultlist(copy.copy(s))jlen(s)-1whileij:print(s[i])ifs[i]notina1:result[i]s[i]i1elif s[j]notina1:result[j]s[j]j-1else:result[i]s[j]result[j]s[i]i1j-1return.join(result)680. 验证回文字符串 Ⅱ1.要求给定一个非空字符串 s最多删除一个字符。判断是否能成为回文字符串。示例 1:输入: “aba”输出: True示例 2:输入: “abca”输出: True解释: 你可以删除c字符来源力扣LeetCode链接https://leetcode-cn.com/problems/valid-palindrome-ii著作权归领扣网络所有。商业转载请联系官方授权非商业转载请注明出处。2.思路回文串就是从前到后和从后到前写都一样例如‘aba’’ 从后向前也是‘aba’,双指针问题一个指向最小一个指向最大不断向中间移动当两个指针指向的字符不同的时候判断两种情况是否满足小的增大一个位置看两端的字符是否相同或者大的位置减小一个是否相同。classSolution{publicbooleanispalindrome(String s,int i,int j){while(ij){if(s.charAt(i)!s.charAt(j--)){returnfalse;}}returntrue;}publicbooleanvalidPalindrome(String s){int js.length()-1;int i0;while(ij){if(s.charAt(i)!s.charAt(j)){returnispalindrome(s,i,j-1)||ispalindrome(s,i1,j);}i;j--;}returntrue;}}classSolution:defisPalindrom(self,s,i,j):returns[i:j1]s[i:j1][::-1]defvalidPalindrome(self,s:str)-bool:i0;jlen(s)-1whileij:ifs[i]!s[j]:returnself.isPalindrom(s,i1,j)or self.isPalindrom(s,i,j-1)i1j-1returnTrue88. 合并两个有序数组1.要求给定两个有序整数数组 nums1 和 nums2将 nums2 合并到 nums1 中使得 num1 成为一个有序数组。说明:初始化 nums1 和 nums2 的元素数量分别为 m 和 n。你可以假设 nums1 有足够的空间空间大小大于或等于 m n来保存 nums2 中的元素。示例:输入:nums1 [1,2,3,0,0,0], m 3nums2 [2,5,6], n 3输出: [1,2,2,3,5,6]来源力扣LeetCode链接https://leetcode-cn.com/problems/merge-sorted-array著作权归领扣网络所有。商业转载请联系官方授权非商业转载请注明出处。2.思路1.将数组先放入一个数组中然后排序太简单了效果不是很好。2.双指针法由于num1 已经提供了可以装下两个数组的空间因此可以直接在上边操作。由于是有序的因此标记两个数组最大的元素倒着装填nums1数组。有以下四种情况1.是num1 数组的指针小于0就装填另外一个数组2.反之亦然3.如果其中num1数组指针的元素小于num2数组指针指向的元素那么就将num2数组指针指向的元素装填到nums1当前的装填指针位置。classSolution{publicvoidmerge(int[]nums1,int m,int[]nums2,int n){int p1m-1;int p2n-1;int pnums1.length-1;while(p10||p20){if(p10){nums1[p--]nums2[p2--];}elseif(p20){nums1[p--]nums1[p1--];}elseif(nums2[p2]nums1[p1]){nums1[p--]nums1[p1--];}else{nums1[p--]nums2[p2--];}}}}141. 环形链表1.要求给定一个链表判断链表中是否有环。为了表示给定链表中的环我们使用整数 pos 来表示链表尾连接到链表中的位置索引从 0 开始。 如果 pos 是 -1则在该链表中没有环。示例 1输入head [3,2,0,-4], pos 1输出true解释链表中有一个环其尾部连接到第二个节点。示例 2输入head [1,2], pos 0输出true解释链表中有一个环其尾部连接到第一个节点。示例 3输入head [1], pos -1输出false解释链表中没有环。2.思路快慢指针如果有环快的终会追上慢的。publicclassSolution{publicbooleanhasCycle(ListNode head){if(headnull){returnfalse;}ListNode l1head;ListNode l2head.next;while(l1!nulll2!nulll2.next!null){if(l1l2){returntrue;}l1l1.next;l2l2.next.next;}returnfalse;}}524. 通过删除字母匹配到字典里最长单词1.要求给定一个字符串和一个字符串字典找到字典里面最长的字符串该字符串可以通过删除给定字符串的某些字符来得到。如果答案不止一个返回长度最长且字典顺序最小的字符串。如果答案不存在则返回空字符串。示例 1:输入:s “abpcplea”, d [“ale”,“apple”,“monkey”,“plea”]输出:“apple”示例 2:输入:s “abpcplea”, d [“a”,“b”,“c”]输出:“a”说明:所有输入的字符串只包含小写字母。字典的大小不会超过 1000。所有输入的字符串长度不会超过 1000。2.思路1.将所有的可能存储起来然后查找。2.直接在未排序的字典 d 中查找字符串 target满足 target是 s的子序列。如果 target被找到了我们将它与其他匹配的字符串做比较直到找到长度最长、字典序最小的单词为止。classSolution{publicbooleanisSubtr(String s,String target){int i0;int j0;while(is.length()jtarget.length()){if(s.charAt(i)target.charAt(j)){j;}i;}returnjtarget.length();}publicStringfindLongestWord(String s,ListStringd){System.out.println(d);String longword;for(String target:d){int l1longword.length(),l2target.length();if(l1l2||(l1l2longword.compareTo(target)0)){//如果参数字符串等于此字符串则返回值 0如果此字符串按字典顺序小于字符串参数则返回一个小于 0 的值如//果此字符串按字典顺序大于字符串参数则返回一个大于 0 的值。continue;}if(isSubtr(s,target)){longwordtarget;}}returnlongword;}}

相关新闻

2026出海服务商深度横评:四类全球化服务商,按企业发展阶段精准选型

2026出海服务商深度横评:四类全球化服务商,按企业发展阶段精准选型

2026年全球出海赛道分化加剧,企业出海不再只有“投流卖货”单一路径。大量实体工厂、跨境品牌、集团企业在全球化布局中陷入两难:只做营销投放,海外分厂、跨国团队管理失控;只做内部管理,线上流量、海外品牌声量长期停…

2026/7/28 14:48:20 阅读更多 →
随机地图算法(优化地牢算法)

随机地图算法(优化地牢算法)

1.前言 如果在阅读此篇文章的时候,不了解地牢算法的建议去看一下,这里不介绍地牢算法了,只是谈论一下地牢算法不好的地方,如何去扩展和优化地牢算法,下面是地牢算法的链接:https://www.cnblogs.com/sufferi…

2026/7/28 14:48:20 阅读更多 →
异构无人机配送系统多目标优化算法解析与实践

异构无人机配送系统多目标优化算法解析与实践

1. 项目概述:异构无人机配送问题的研究背景与挑战 2024年发表在ESWA(Expert Systems With Applications)SCI一区TOP期刊的这篇论文,针对的是当前物流配送领域的一个前沿课题——异构无人机配送系统的多目标优化问题。随着无人机技…

2026/7/28 14:48:20 阅读更多 →

最新新闻

UE5音频中间件选型指南:MetaSound、FMOD与Wwise深度对比

UE5音频中间件选型指南:MetaSound、FMOD与Wwise深度对比

1. 项目概述:音频中间件选型,一个决定项目成败的隐形战场在UE5项目开发的早期阶段,音频系统的选型往往容易被忽视,但它却像项目的“听觉骨架”,一旦定型,后期重构的成本极高。当你的项目从原型走向规模化&a…

2026/7/28 14:58:23 阅读更多 →
Three.js vs Babylon.js vs R3F:Web3 3D 可视化框架的渲染性能与生态适配度评测

Three.js vs Babylon.js vs R3F:Web3 3D 可视化框架的渲染性能与生态适配度评测

Three.js vs Babylon.js vs R3F:Web3 3D 可视化框架的渲染性能与生态适配度评测 一、引言 Web3 应用中的 3D 可视化需求正在从"锦上添花"转变为"刚需组件"。NFT 市场需要 3D 模型展示、Metaverse 项目依赖实时 3D 渲染、链上数据看板需要 3D 拓…

2026/7/28 14:58:23 阅读更多 →
提醒:AI还没正式上线,已经被人全网扫描

提醒:AI还没正式上线,已经被人全网扫描

企业的AI应用可能还在测试,攻击者却已经开始批量寻找公网中的模型接口、MCP服务和访问凭证。近期,一台没有部署MCP服务和本地大模型的普通网站服务器,在连续14天内仍收到接近200次AI相关探测。这不是针对某家企业的定向攻击,而是一…

2026/7/28 14:58:23 阅读更多 →
AI Agent 框架选型指南:LangChain、Eliza、CrewAI 在 Web3 场景的集成能力与局限性

AI Agent 框架选型指南:LangChain、Eliza、CrewAI 在 Web3 场景的集成能力与局限性

AI Agent 框架选型指南:LangChain、Eliza、CrewAI 在 Web3 场景的集成能力与局限性 一、引言 AI Agent 的范式演进正在从"对话式助手"走向"自主执行任务"的阶段。在 Crypto 领域,这种能力有天然的应用场景:根据市场信号自…

2026/7/28 14:58:23 阅读更多 →
Keil MDK 编译信息解读

Keil MDK 编译信息解读

一、资源占用 嵌入式系统开发时,在程序源码设计编写完成后,需要使用编译器将程序源码转换编译为控制器平台可以识别的二进制文件(通常是.hex文件)。在编译器件编译器可以获取了程序所需要占用的存储资源信息,一般也会输出供程序编写者查看。 …

2026/7/28 14:58:23 阅读更多 →
vLLM与SGLang:大模型推理框架的技术对比与应用指南

vLLM与SGLang:大模型推理框架的技术对比与应用指南

1. 大模型推理框架的战场格局 2023年大模型推理领域最引人注目的现象,莫过于vLLM和SGLang这两个框架的崛起。作为长期跟踪大模型工程化的从业者,我亲眼见证了vLLM如何凭借PagedAttention技术横扫推理性能榜单,也目睹了SGLang如何通过声明式编…

2026/7/28 14:57:23 阅读更多 →

日新闻

告别臃肿!3步让你的暗影精灵笔记本重获新生

告别臃肿!3步让你的暗影精灵笔记本重获新生

告别臃肿!3步让你的暗影精灵笔记本重获新生 【免费下载链接】OmenSuperHub Control Omen laptop performance, fan speeds, and keyboard lighting, and unlock power limits. 项目地址: https://gitcode.com/gh_mirrors/om/OmenSuperHub 你是否也曾为官方Om…

2026/7/28 0:00:43 阅读更多 →
RAG必踩坑!财报法规检索不准?这款开源工具让答案浮出水面,准确率飙升98.7%!

RAG必踩坑!财报法规检索不准?这款开源工具让答案浮出水面,准确率飙升98.7%!

做 RAG 的人应该都踩过这个致命的坑:把几百页的财报、法规、技术手册扔给向量库,问一个具体问题,搜出来的全是沾边但没用的内容 —— 关键信息要么被硬切块拆碎了,要么藏在几十条结果的最下面。语义相似≠真正相关,这个…

2026/7/28 0:00:43 阅读更多 →
抖音视频文案提取工具全指南:免费2026版、手机App、在线工具一网打尽

抖音视频文案提取工具全指南:免费2026版、手机App、在线工具一网打尽

2026年做短视频运营,从抖音上扒文案早就不是偷偷抄笔记的事了。我刚开始做内容的时候,每天刷半小时抖音,手动把爆款视频的口播敲进备忘录,一条2分钟的视频得花十来分钟,碰到语速快的还要反复回听。后来试了一圈工具&am…

2026/7/28 0:00:43 阅读更多 →

周新闻

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 数据集6000张 完整源码已标注数据集训练好的模型环境配置教程程序运行说明文档,可以直接使用!系统支持图片、视频、摄像头等多种方式检测裂缝,功能强大实用。 1数据集6000张 8各类别

2026/7/28 12:04:22 阅读更多 →
深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

pubg数据集 精选原图1.42万数据 1.49万标签 无任何重复、算法增强或冗余图像! pubg绝地求生目标检测数据集 1分类:e_body,14905个标签,txt格式 共计14244张图,99%为640*640尺寸图像 适合yolo目标检测、AI训练关键词&am…

2026/7/28 8:29:16 阅读更多 →
Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex检测数据集数据集详情检测类别: allies enemy tag图片总量:7247张训练集:5139张验证集:1425张测试集:683张标注状态:全部已标注,即拿即用数据格式:支持YOLO格式及其他格式&#…

2026/7/28 5:03:42 阅读更多 →

月新闻