Salut ! Parlons de cette astuce intéressante appelée technique à deux points dans DSA. Ne vous inquiétez pas, je vais garder ça amusant et ajouter quelques visuels pour l'aider à rester. Prêt à plonger ?
Alors, c'est quoi cette histoire de deux points ?
Pensez-y comme à un jeu dans lequel vous avez deux joueurs (nous les appellerons des pointeurs) commençant de différents côtés d'un terrain (c'est votre tableau). Ils peuvent soit :
Cette technique vous aide à résoudre un tas de problèmes de manière très efficace sans écrire une tonne de boucles. Plutôt sympa, hein ?
Pourquoi devriez-vous vous en soucier ?
Eh bien, c'est comme un super pouvoir pour votre code :
Regardons certains types de problèmes à deux points
Imaginez que vous essayez de trouver deux nombres dans un tableau trié qui totalisent une cible. C'est comme deux personnes courant l'une vers l'autre pour se rencontrer au milieu.
Voici un exemple JavaScript rapide :
function twoSumSorted(arr, target) { let left = 0; let right = arr.length - 1; while (left < right) { const sum = arr[left] + arr[right]; if (sum === target) return [left, right]; if (sum < target) left++; else right--; } return -1; // No pair found } console.log(twoSumSorted([1, 2, 3, 4, 6], 10)); // Output: [2, 4]
Imaginez les chiffres comme de jolis petits personnages alignés :
① ② ③ ④ ⑤
2.C'est parfait pour vérifier si une chaîne est un palindrome. Imaginez deux amis commençant à la fin d'un mot, se dirigeant vers le milieu et se félicitant si tout correspond.
function isPalindrome(s) { let left = 0; let right = s.length - 1; while (left < right) { if (s[left] !== s[right]) return false; left++; right--; } return true; } console.log(isPalindrome("racecar")); // Output: true console.log(isPalindrome("hello")); // Output: false
Imaginez deux fourmis rampant l'une vers l'autre sur le mot "voiture de course" :
r ≪-> r ?
un ≪-> un ?
c ≪-> c ?
Palindrome confirmé ! ?
Quelques applications intéressantes de cette technique :
Conseils de pro :
Vous voulez passer au niveau supérieur ? Essayez ces défis :
La technique des deux points est comme un couteau suisse pour le codage. C'est simple mais puissant, et avec un peu de pratique, vous l'utiliserez sans même y penser.
Vous avez des questions ou souhaitez partager vos solutions ? Laissez un commentaire ou faites-moi signe. Bon codage !
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!