Ho dato una prova a HackerRank dove i problemi spesso richiedono la lettura di righe di interi in array (slice).Modo conciso e robusto per leggere una riga di interi separati da spazi in Go
Per molti dei problemi, il mio codice di analisi risulta essere più grande della carne algoritmica della soluzione. Ad esempio, è stato il caso in Sherlock and Array
Qualche idea su come analizzare in modo conciso una linea di numeri interi separati in una sezione? fmt.Scanf
non supporta le slice e quando si utilizza bufio
ottengo soluzioni lunghe.
Alcuni requisiti:
- È possibile utilizzare solo la libreria standard.
- La soluzione deve essere concisa, minore è, meglio è.
- I controlli degli errori non devono essere saltati. So che l'input è ben definito in HackerRank e dovresti essere in grado di tagliare gli angoli, ma per favore non farlo, è una cattiva pratica.
- Dovrebbe essere ragionevolmente efficiente.
NOTA: Il parser dovrebbe consumare solo una singola linea e non l'ingresso completo.
Nizza _abuse_ di JSON :) Tuttavia, le stringhe sono separati da spazi (non separato da virgole) e leggendo l'intera linea è piuttosto inefficiente nello spazio. – fons