خوارزميةمجاني

مجموع زوج بالقوة الغاشمة

جرّب كل زوج لتجد عددين مجموعهما يساوي الهدف. طريقة بسيطة، لكنها O(n²).

الزمن
O(n²)
الذاكرة
O(1)

تتبّعها خطوة بخطوة

الخطوة 1 من 10
1function twoSumBrute(nums, target) {2  for (let i = 0; i < nums.length; i++) {3    for (let j = i + 1; j < nums.length; j++) {4      if (nums[i] + nums[j] === target) return [i, j];5    }6  }7  return null;8}
target
= 10
checks
= 1
  1. 1i
  2. 3j
  3. 4
  4. 6
  5. 8
  6. 11

1 + 3 = 4، وهذا لا يساوي 10. عدد الفحوص حتى الآن: 1.

كيف تعمل

حلقتان متداخلتان تجرّبان كل زوج: العدد الأول مع كل عدد بعده، ثم الثاني، وهكذا. مع n عنصراً يكون عدد الأزواج نحو n²/2، لذا فإن مضاعفة حجم المصفوفة تضاعف العمل أربع مرات تقريباً. هذا هو O(n²). قارنه بدرس تقنية المؤشّرين الذي يحلّ المسألة نفسها على مصفوفة مرتّبة في مرور واحد.