दोन-पॉइंटर तंत्र क्रमाच्या माध्यमातून हलणारे दोन निर्देशांक वापरून एका पासामध्ये समस्या सोडवते — अनेक O(n²) brute-force उपायांना O(n) मध्ये रूपांतरित करते।
कल्पना
दोन पॉइंटर (बहुतेक शेवटी किंवा एक हळू आणि एक वेगवान) ठेवा आणि अटीच्या आधारे त्यांना हलवा, पुनः स्कॅन न करता काम कमी करा।
उदाहरण: क्रमबद्ध अ्यारमध्ये लक्ष्य बेरीज असलेली जोडी शोधणे
():
lo, hi = , (arr) -
lo < hi:
s = arr[lo] + arr[hi]
s == target:
(lo, hi)
s < target:
lo +=
:
hi -=
two_sum_sorted([, , , , ], )
