दो-पॉइंटर तकनीक एक बार में समस्याओं को हल करने के लिए अनुक्रम के माध्यम से दो सूचकांक का उपयोग करती है — कई O(n²) ब्रूट-फ़ोर्स समाधानों को O(n) में बदल देती है।
विचार
दो पॉइंटर्स रखें (अक्सर सिरों पर, या एक धीमा और एक तेज) और उन्हें एक स्थिति के आधार पर स्थानांतरित करें, पुन: स्कैन किए बिना काम को कम करना।
उदाहरण: क्रमबद्ध सरणी में लक्ष्य का योग करने वाली जोड़ी
():
lo, hi = , (arr) -
lo < hi:
s = arr[lo] + arr[hi]
s == target:
(lo, hi)
s < target:
lo +=
:
hi -=
two_sum_sorted([, , , , ], )
