Sfida
Dato un elenco, determinare se raggruppare l'elenco in esecuzioni di elementi crescenti e decrescenti si tradurrà in un elenco di elenchi di dimensioni uguali.
In altre parole, i "punti di svolta" dell'elenco sono distribuiti uniformemente.
Esempio
Ecco un esempio: 0, 3, 7, 5, 2, 3, 6
0, 3, 7
aumenta, 7, 5, 2
diminuisce e 2, 3, 6
aumenta. Quindi questo è vero.
Un altro esempio: 1, 4, 6, 8, 5, 3, 5, 7, 9
1, 4, 6, 8
aumenta, 8, 5, 3
diminuisce e 3, 5, 7, 9
aumenta. Quindi questo è falso.
Regole e specifiche
- Nessun elemento adiacente sarà uguale
- Si può presumere che tutti i numeri rientrino nell'intervallo di numeri ragionevole della tua lingua
- Puoi presumere che tutti i numeri siano numeri interi, se ti aiuta a golfare la tua presentazione
- Questo è code-golf , quindi vince la risposta più breve
- Immettere come elenco in qualsiasi rappresentazione ragionevole e output come qualsiasi valore di verità / falsità. I due valori devono essere coerenti.
Casi test
Input -> Output
1, 3, 5, 8, 6, 4, 2, 3, 5, 7, 6, 4, 2, 5, 7, 9, 6, 4, 2 -> True
1, 3, 5, 7, 6, 4, 5, 7, 9, 8, 6, 4, 2, 3, 5 -> False
2, 3, 6, 4, 2, 3, 7, 5, 3, 4, 6 -> True
3, 6, 4, 8, 5, 7, 3, 5, 2 -> True
8 -> True
1, 3, 5, 7 -> True
4, 5, 7, 6, 8, 9 -> False
6, 4, 2, 3, 5, 4, 2 -> True
8, 5, 3, 2, 4, 6, 5, 3, 2, 5, 7 -> False
Nota : non si può presumere che tutti i numeri siano composti da una sola cifra (a meno che non sia in grado di gestire tutta la lingua); i casi di test riflettono che solo perché è più facile per me digitare i casi in questo modo: P Ecco alcuni casi di test con numeri al di fuori di tale intervallo:
1, 5, 10, 19, 15, 13, 8, 13, 18, 23, 19, 18, 14 -> True
15, 14, 17, 16, 19, 18 -> True
12, 16, 19, 15, 18, 19 -> False
1, 2, 3, 2
un input valido, e se così considerato vero o falso? In quello in quell'esempio il prossimo valore essendo 1 lo renderebbe vero, ma un 3 lo renderebbe falso.