Einfach 0 gelöst 0% Erfolgsquote

Count Pairs With a Sum

Count pairs of positions whose values add up to a target.

Das lernst du

  • Jedes Positionspaar genau einmal prüfen
  • Die innere Schleife nach dem äußeren Index starten
  • Treffer für einen Zielwert zählen

Problem

Count the pairs of different positions i < j in numbers where numbers[i] + numbers[j] equals target. Use two nested loops.

Implement count_pairs_with_sum(numbers, target).

Input

numbers: The list of integers. target: The sum to look for.

Output

Return the number of pairs.

Einschränkungen

0 ≤ length of numbers ≤ 500; -10,000 ≤ each number, target ≤ 10,000

Beispiele

Beispiel 1
Eingabe:
target = 6
numbers = [1, 5, 3, 3, 4]

Erwartete Ausgabe:
expected = 2
Eingabe:
long long target = 6;
std::vector<long long> numbers = {1, 5, 3, 3, 4};

Erwartete Ausgabe:
long long expected = 2;
Eingabe:
long target = 6;
long[] numbers = new long[] {1, 5, 3, 3, 4};

Erwartete Ausgabe:
long expected = 2;

Erläuterung

1 + 5, 3 + 3 (the two 3s at different positions) make 6: 2 pairs.

Beispiel 2
Eingabe:
target = 4
numbers = [2, 2, 2]

Erwartete Ausgabe:
expected = 3
Eingabe:
long long target = 4;
std::vector<long long> numbers = {2, 2, 2};

Erwartete Ausgabe:
long long expected = 3;
Eingabe:
long target = 4;
long[] numbers = new long[] {2, 2, 2};

Erwartete Ausgabe:
long expected = 3;

Erläuterung

Every pair of the three 2s sums to 4: positions (0,1), (0,2), (1,2) = 3 pairs.

So gehst du vor

Versuch es zuerst allein und öffne dann einen Hinweis nach dem anderen.

Hinweis 1

Prüfe jedes frühere-spätere Paar und schau, ob ihre Summe dem Zielwert entspricht.

Hinweis 2

Eine einfache Doppelschleife reicht aus, weil die Eingabe klein ist.

Hinweis 3

Achte darauf, jedes Paar nur einmal zu zählen, also mit Positionen i kleiner als j.

Erwartete Komplexität

Zeit O(n^2), zusätzlicher Speicher O(1)

Referenzen

Diese Aufgabe wurde für CodeUtility angepasst. Beachte die oben genannten Vorgaben und Einschränkungen.

Von anderen lernen

Community-Lösungen

Noch keine veröffentlichten Lösungen. Löse die Aufgabe und teile als Erster eine Lösung.