relacionados e inspirados por - Localizando partições sem soma
Um conjunto A
é definido aqui como sendo claramente sem soma se
- 1) consiste em pelo menos três elementos
|A| ≥ 3
, e - 2) sua auto-soma distinta
A + A = { x + y | x, y in A}
(comx,y
distintos, iex≠y
) não possui elementos em comum comA
.
(Obsoleto -... Não use este vai para a frente esquerda aqui apenas porque algumas respostas podem tê-lo usado Ele não coincide com as condições acima Alternativamente, a equação x + y = z
não tem solução para x,y,z ∈ A
(novamente com x,y,z
distinta, ou seja, x≠y
, x≠z
, y≠z
.) )
Para um exemplo simples, {1,3,5}
é claramente sem soma, mas {1,3,4}
não é. {1,3}
e {3}
também não são, pois não têm pelo menos três elementos.
O desafio aqui é encontrar o maior subconjunto distintamente livre de soma da entrada fornecida.
Entrada
- Um conjunto não ordenado
A
de números inteiros em qualquer formato conveniente . - Os números inteiros podem ser positivos, negativos ou zero, mas pode-se presumir que cabem no
[int]
tipo de dados nativo do seu idioma (ou equivalente). - É garantido que o conjunto tenha apenas elementos distintos (sem multisets aqui).
- O conjunto não é necessariamente classificado.
Resultado
- O maior subconjunto de
A
(que poderia serA
ele mesmo), que é distintamente sem soma. A saída pode estar em qualquer formato adequado. - Se esse subconjunto não existir, envie um conjunto vazio ou outro valor falsey .
- Se vários subconjuntos estiverem vinculados ao maior, produza um ou todos eles.
- O subconjunto não precisa necessariamente ser classificado ou na mesma ordem que a entrada. Por exemplo, para
{1,3,5}
saída de entrada{5,1,3}
é aceitável.
Regras adicionais
- As brechas padrão são proibidas.
- Isso é código-golfe , então todas as regras usuais de golfe se aplicam e o código mais curto vence.
Exemplos
Input -> Output (any or all)
{0} -> {}
{1, 2, 3} -> {}
{1, 3, 5} -> {1, 3, 5}
{1, 2, 3, 4, 5} -> {1, 2, 5} {1, 2, 4} {1, 3, 5} {2, 3, 4} {2, 4, 5} {3, 4, 5}
{-5, 4, 3, -2, 0} -> {-5, 4, 3} {-5, 4, -2} {4, 3, -2}
{-5, 4, 3, -2} -> {-5, 4, 3} {-5, 4, -2} {4, 3, -2}
{-17, 22, -5, 13, 200, -1, 1, 9} -> {-17, 22, -5, 13, 200, -1, 1} {-17, 22, -5, 200, -1, 1, 9} {-17, -5, 13, 200, -1, 1, 9}