Browse Source

fix(findpairs) add more info and make it harder

pull/2548/head
miguel 2 weeks ago
parent
commit
c0494afdb4
  1. 24
      subjects/findpairs/README.md

24
subjects/findpairs/README.md

@ -1,4 +1,4 @@
## Find Pairs with Sum
## Find Pairs
### Instructions
@ -6,16 +6,18 @@ Write a program that finds all pairs of elements in an integer array that sum up
In this exercise you must take in consideration the following:
- Ensure its possible to have positive or negative integers in the array
- Ensure each element is used only once in a pair
- Allow for multiple pairs to sum up to the target value
- Return the message "No pairs found." when no pair is present
- Return the message "Invalid target sum." if the target is invalid
- Return the message "Invalid number." if the number in the array is invalid
- Ensure it's possible to have positive or negative integers in the array.
- Ensure each element is used only once in a pair, although the element can be repeated in different pairs.
- Allow for multiple pairs to sum up to the target value.
- The output messages should follow the one given in the examples bellow.
- Return the message **"No pairs found."** when no pair is present.
- Return the message **"Invalid target sum."** if the target is invalid.
- Return the message **"Invalid number: <number>"** if the number in the array is invalid.
- For any input format that deviates from the specified format `"[1, 2, 3, 4, 5]" "6"`, the program will return an "Invalid input." error message.
Let's consider the input `arr = [1, 2, 3, 4, 5]` and the target sum `targetSum = 6`. When we run the program, the `findPairs()` function will search for pairs in the array that sum up to `targetSum`.
The expected output for this input will be:
Here is some example of outputs:
```console
$ go run . "[1, 2, 3, 4, 5]" "6"
@ -24,9 +26,15 @@ $ go run . "[-1, 2, -3, 4, -5]" "1"
Pairs with sum 1: [[0 1] [2 3]]
$ go run . "[1, 2, 3, 4, 5]" "10"
No pairs found.
$ go run . "[-1, -2, -3, -4, -5]" "-5"
Pairs with sum -5: [[0 3] [1 2]]
$ go run . "[1, 2, 3, 4, 20, -4, 5]" "2 5"
Invalid target sum.
$ go run . "[1, 2, 3, 4, 20, p, 5]" "5"
Invalid number: p
$ go run . "[1, 2, 3, 4" "5"
Invalid input.
$ go run . "1, 2, 3, 4" "5"
Invalid input.
$
```

Loading…
Cancel
Save