Communities

Writing
Writing
Codidact Meta
Codidact Meta
The Great Outdoors
The Great Outdoors
Photography & Video
Photography & Video
Scientific Speculation
Scientific Speculation
Cooking
Cooking
Electrical Engineering
Electrical Engineering
Judaism
Judaism
Languages & Linguistics
Languages & Linguistics
Software Development
Software Development
Mathematics
Mathematics
Christianity
Christianity
Code Golf
Code Golf
Music
Music
Physics
Physics
Linux Systems
Linux Systems
Power Users
Power Users
Tabletop RPGs
Tabletop RPGs
Community Proposals
Community Proposals
tag:snake search within a tag
answers:0 unanswered questions
user:xxxx search by author id
score:0.5 posts with 0.5+ score
"snake oil" exact phrase
votes:4 posts with 4+ votes
created:<1w created < 1 week ago
post_type:xxxx type of post
Search help
Notifications
Mark all as read See all your notifications »
Challenges

Comments on Find all unique quintuplets in an array that sum to a given target

Post

Find all unique quintuplets in an array that sum to a given target

+0
−0

Inspiration: Leetcode's [3Sum] link
Link on CG&CC

Problem

Given an array nums of n (not necessarily distinct) integers, and given a target number target, return an array of all of the unique quintuplets [nums[a],nums[b],nums[c],nums[d],nums[e]] such that the following conditions are held:

  1. 0 <= a,b,c,d,e < n (or 1 <= a,b,c,d,e <= n if using 1-indexing)
  2. All of a,b,c,d,e are distinct.
  3. nums[a] + nums[b] + nums[c] + nums[d] + nums[e] = target
    • In the case of multiple arrays, we also add the requirements that at least two values in each of the arrays are distinct.

If all 3 conditions cannot be satisfied, you can return a junk value of your liking, or just an empty array [[]] or []. The testcases down below will use -1 as the specified junk value.

You may return the answer in any order. For example, given the array [-5,-2,-2,1,3,4,6] and target 0, you could return any permutation of [[-5,-2,-2,3,6]]. You do not need to return all possible permutations of one single array.

Testcases:

 Array: [-5,-2,-2,1,3,4,6]
Target: 0
Output: [[-5,-2,-2,3,6]]

 Array: [-5,-4,-2,0,1,2,6]
Target: 1
Output: [[-5,-2,0,2,6],[-4,-2,0,1,6]]

# Note that outputting `[[-4,-2,0,1,6],[-5,-2,0,2,6]]` is also valid,
# although returning just `[[-4,-2,0,1,6]]` or `[[-5,-2,0,2,6]]` is not.

 Array: [0,-1,2,3]
Target: 4
Output: -1

 Array: [0,1,-9,6,7]
Target: 6
Output: -1

 Array: [0,1,9,9,5]
Target: 45
Output: -1

 Array: [1,4,6,9,-4]
Target: 16
Output: [[1,4,6,9,-4]]

 Array: [1,0,9,6,5,0]
Target: 21
Output: [[1,0,9,6,5]]

 Array: [1,0,9,6,5,4,7]
Target: 21
Output: [[1,0,9,6,5],[1,0,9,4,7]]

 Array: [1,0,9,6,5,4,4,7]
Target: 21
Output: [[1,0,9,6,5],[1,0,9,4,7],[0,6,4,4,7],[1,5,4,4,7]]

 Array: [1,1,2,2,3,3,4,4]
Target: 11
Output: [[1,2,2,3,3],[1,1,2,3,4]]

 Array: [-1,1,1,1,1,1,3]
Target: 5
Output: [[1,1,1,1,1],[-1,1,1,1,3]]

# Above test case suggested by @trichoplax

This is [code-golf], so the shortest solution wins!

History
Why does this post require attention from curators or moderators?
You might want to add some details to your flag.
Why should this post be closed?

1 comment thread

Clarification of arrays (9 comments)
Clarification of arrays
trichoplax‭ wrote about 1 month ago
  • In the case of multiple arrays, we also add the requirements that at least two values in each of the arrays are distinct.

The problem specification refers to an array of quintuplets. Does "multiple arrays" here refer to multiple quintuplets?

trichoplax‭ wrote about 1 month ago

In the case of multiple arrays, we also add the requirements that at least two values in each of the arrays are distinct.

Does this mean "for each pair of quintuplets, each quintuplet must have at least 2 elements not present in the other", or the stronger "for each quintuplet, at least 2 of its elements must be present in no other quintuplet", or something else?

trichoplax‭ wrote about 1 month ago · edited about 1 month ago

In addition to editing to make the correct interpretation explicit, it would be helpful to have some test cases for this specific situation.

For example, what should be the output for the following input:

-1, 1, 1, 1, 1, 1, 3
Target: 5
trichoplax‭ wrote about 1 month ago

Most challenges require fine tuning, so I post mine in the Sandbox category to avoid any answers arriving until the wording is free of potential ambiguity.

trichoplax‭ wrote about 1 month ago · edited about 1 month ago

You do not need to return all possible permutations of one single array.

Does this mean that you are permitted to return only one permutation of each quintuplet, or that you are required to return only one permutation of each quintuplet?

The distinction is important because in some programming languages outputting all permutations will require fewer bytes than outputting just one permutation. (I don't personally have a preference on which way you decide, but it's worth being explicit either way so answerers know what's possible.)

CrSb0001‭ wrote about 1 month ago

Does "multiple arrays" refer to multiple quintuplets?

Why wouldn't it? I'm basically saying "multiple arrays [of distinct quintuplets".

Does this mean "for each pair of quintuplets, each quintuplet must have at least 2 elements not present in the other", or the stronger "for each quintuplet, at least 2 of its elements must be present in no other quintuplet", or something else?

I mean the latter here.

What should the output be in the following case?

[-1,1,1,1,1,1,3]
Target: 5

The output would be as follows (given from my Python3 answer):

[[1,1,1,1,1], [-1,1,1,1,3]]

If you really want me to, I can add the test case.

CrSb0001‭ wrote about 1 month ago

Most challenges require fine tuning, so I post mine in the Sandbox category to avoid any answers arriving until the wording is free of potential ambiguity.

...what's wrong with not posting it in the sandbox?

Does this mean that you are permitted to return only one permutation of each quintuplet, or that you are required to return only one permutation of each quintuplet?

It's supposed to mean the former.

trichoplax‭ wrote about 1 month ago

There is nothing wrong with not posting in the Sandbox. I mentioned that I use the Sandbox in case that would be helpful for future challenges. There is no obligation.

CrSb0001‭ wrote about 1 month ago

Oh, okay. That makes sense