இரண்டு-சுட்டி நுட்பம் இரண்டு குறியீடுகளைப் பயன்படுத்தி, ஒரு வரிசையின் மூலம் நகர்ந்து, ஒரு பாஸிலேயே சிக்கல்களை தீர்க்கிறது — பல 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([, , , , ], )
