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

2.9 KiB

id title challengeType videoUrl localeTitle
a3f503de51cfab748ff001aa Pairwise 5 Emparelhados

Description

Dada uma matriz arr , encontre os pares de elementos cuja soma seja igual ao segundo argumento arg e retorne a soma de seus índices. Você pode usar vários pares que tenham os mesmos elementos numéricos, mas índices diferentes. Cada par deve usar os menores índices disponíveis possíveis. Uma vez que um elemento tenha sido usado, ele não pode ser reutilizado para emparelhar com outro elemento. Por exemplo, pairwise([1, 1, 2], 3) cria um par [2, 1] usando o 1 no índice 0 em vez do 1 no índice 1, porque 0 + 2 <1 + 2. Por exemplo, pairwise([7, 9, 11, 13, 15], 20) retorna 6 . Os pares que somam 20 são [7, 13] e [9, 11] . Podemos então escrever o array com seus índices e valores.
Índice 0 1 2 3 4
Valor 7 9 11 13 15
Abaixo, vamos pegar seus índices correspondentes e adicioná-los. 7 + 13 = 20 → Índices 0 + 3 = 3
9 + 11 = 20 → Índices 1 + 2 = 3
3 + 3 = 6 → Return 6 Lembre-se de usar Read-Search-Ask se você ficar preso. Tente emparelhar o programa. Escreva seu próprio código.

Instructions

Tests

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