AKA: Gere Clickbait a partir de uma matriz.
Dada uma matriz de números inteiros, gere alguns clickbait dignos de constrangimento com base em sua disposição e comprimento:
- Se tiver 20 elementos ou menos, você poderá criar uma lista dos principais X. Parâmetros: comprimento da matriz.
- Os números primos são celebridades; portanto, a qualquer momento dois deles estão próximos um do outro, isso passa como fofoca. Parâmetros: os dois números primos adjacentes na ordem em que aparecem na matriz.
- Se algum número aparecer duas ou mais vezes na matriz, é chocante e inacreditável e todos precisam ouvir sobre isso. Se vários números aparecerem duas vezes, faça uma notícia para cada um. Imprima apenas uma vez por número único. Parâmetros: ocorrência do número medido pela aparência total.
- Se você vir três ou mais elementos em ordem crescente monotônica
classificada, seguida por uma diminuição repentina, informe como eles são classificados e provoque o que acontece a seguir. Faça isso apenas uma vez por sequência. Parâmetros: comprimento da reta.
Estes são os respectivos clickbaits que você deve usar:
The Top {{N}} Array Elements
{{N1}} And {{N2}} Were Spotted Together, You Won't Believe What They Did
These {{N}} Elements Will Blow Your Mind
{{N}} Elements Sort Themselves, Find Out What Comes Next
Lembre-se de que você representa uma empresa de mídia barata, portanto precisará ordená-la e imprimir todos os títulos possíveis. Se houver dois títulos idênticos, imprima os dois.
Por exemplo, se você receber esse array ...
1,2,3,4,2,1,1,5,6
Você deve produzir todos estes, em ordem arbitrária:
The Top 9 Array Elements
2 And 3 Were Spotted Together, You Won't Believe What They Did
These 2 Elements Will Blow Your Mind
These 3 Elements Will Blow Your Mind
4 Elements Sort Themselves, Find Out What Comes Next
Observe a falta deste título:
3 Elements Sort Themselves, Find Out What Comes Next
Como código de golfe, a resposta mais curta em bytes vence.
code-golf
array-manipulation
Nissa
fonte
fonte
Respostas:
Geléia , 142 bytes
Um link monádico que aceita uma lista de números inteiros, retornando uma lista de listas de clickbaits (cada uma das quais é uma lista de caracteres e números inteiros). Para um programa completo, imprima iscas de clique separadas por alimentação de linha, basta adicionar
ẎY
ao final.Experimente online! (O rodapé cria uma lista única de clickbaits e os separa com novas linhas.)
... ou veja o exemplo dado na pergunta.
Como?
Os 99 bytes mais à direita deste link formam um nilad (uma função com zero argumentos, ou seja, uma constante):
Vamos rotular essas partes do texto como
X
, agora o link é:fonte
“...“...“...“...»
parte do código, com avanços de linha no lugar dos números - como estaJava 10,
467457456453 bytesAssume que a matriz de entrada conterá valores
0 < N < 1000
([1,999]
).Experimente online.
fonte
JavaScript (Node.js) , 397 bytes
Experimente online!
fonte
'!'
por' Elements '
(ou similar)?The Top * Array Elements
[5,10,5,10]
produzirThese 2 Elements Will Blow Your Mind
duas vezes? Penso que a parte do desafio " Imprima apenas uma vez por número único " significa os números5
e10
não o númeroN=2
. Mas talvez peça ao OP para verificar. Se o segundo, sua implementação estiver correta e as outras três respostas estiverem incorretas. Se o primeiro apenas sua implementação estiver incorreta.JavaScript (Node.js) ,
351350349347 bytesExperimente online!
fonte