दुई-पॉइन्टर टेकनिकले अनुक्रमको माध्यमबाट दुई इन्डिसेस प्रयोग गरी समस्याहरूलाई एकैपटकमा समाधान गर्छ — धेरै 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([, , , , ], )
