Two pointers(双指针):一种常见的算法技巧,使用两个索引/指针变量在序列(如数组、字符串、链表)上移动,以更高效地完成搜索、比较、去重、分区或求解(常把时间复杂度从 (O(n^2)) 降到 (O(n)) 或 (O(n\log n)))。常见形式包括左右夹逼(left/right)和快慢指针(fast/slow)。在部分语境中也可泛指“两个指针(如 C 语言指针变量)”,但最常见用法是算法策略。
/tuː ˈpɔɪn.tərz/
Use two pointers to remove duplicates from a sorted array.
用双指针从有序数组中删除重复元素。
By moving the left and right pointers inward, we can find the target pair in linear time after sorting.
将左右指针向内移动,排序后就能在线性时间内找到目标数对。
pointer 原指“指示物/指针”,在计算机语境中引申为“指向某位置的变量”。two pointers 作为术语来自算法实践:用两个“指向位置”的变量在数据结构上协同移动,以减少重复扫描与不必要的比较,因而得名“双指针”。