freeCodeCamp/curriculum/challenges/russian/08-coding-interview-prep/algorithms/pairwise.russian.md

3.2 KiB
Raw Blame History

id title challengeType videoUrl localeTitle
a3f503de51cfab748ff001aa Pairwise 5 парный

Description

Учитывая массив arr , найдите пары элементов, сумма которых равна второму аргументу arg и возвращает сумму их индексов. Вы можете использовать несколько пар, которые имеют одинаковые числовые элементы, но разные индексы. Каждая пара должна использовать самые низкие доступные индексы. Как только элемент был использован, его нельзя повторно использовать для соединения с другим элементом. Например, pairwise([1, 1, 2], 3) создает пару [2, 1] используя 1 в индексе 0, а не 1 в индексе 1, потому что 0 + 2 <1 + 2. Например, pairwise([7, 9, 11, 13, 15], 20) возвращает 6 . Парами, суммирующимися до 20, являются [7, 13] и [9, 11] . Затем мы можем записать массив с их индексами и значениями.
Индекс 0 1 2 3 4
Стоимость 7 9 11 13 15
Ниже мы возьмем соответствующие индексы и добавим их. 7 + 13 = 20 → Индексы 0 + 3 = 3
9 + 11 = 20 → Индексы 1 + 2 = 3
3 + 3 = 6 → Return 6 забудьте использовать Read-Search-Ask, если вы застряли. Попробуйте подключить программу. Напишите свой собственный код.

Instructions

Tests

tests:
  - text: ''
    testString: 'assert.deepEqual(pairwise([1, 4, 2, 3, 0, 5], 7), 11, "<code>pairwise([1, 4, 2, 3, 0, 5], 7)</code> should return 11.");'
  - text: ''
    testString: 'assert.deepEqual(pairwise([1, 3, 2, 4], 4), 1, "<code>pairwise([1, 3, 2, 4], 4)</code> should return 1.");'
  - text: ''
    testString: 'assert.deepEqual(pairwise([1, 1, 1], 2), 1, "<code>pairwise([1, 1, 1], 2)</code> should return 1.");'
  - text: ''
    testString: 'assert.deepEqual(pairwise([0, 0, 0, 0, 1, 1], 1), 10, "<code>pairwise([0, 0, 0, 0, 1, 1], 1)</code> should return 10.");'
  - text: ''
    testString: 'assert.deepEqual(pairwise([], 100), 0, "<code>pairwise([], 100)</code> should return 0.");'

Challenge Seed

function pairwise(arr, arg) {
  return arg;
}

pairwise([1,4,2,3,0,5], 7);

Solution

// solution required