C'è una domanda di intervista comune che sarà una varietà della simulazione del parcheggio - la cui essenza è che hai un parcheggio con posti auto di varie dimensioni (piccolo, medio, grande) e auto di varie dimensioni (piccolo, medio, grande), e il tuo lavoro è simulare l'inserimento di un'auto nel lotto e la rimozione di un'auto specifica dal lotto.
La mia domanda è specificamente correlata a una ruga che viene gettata nel problema; cosa succede se lasci le auto di piccole o medie dimensioni in spazi di parcheggio più grandi delle rispettive dimensioni, e più tardi ti ritrovi con una macchina grande che cerca di entrare molto con solo un piccolo parcheggio?
Ho avuto intervistatori che mi chiedevano come costruire al meglio un algoritmo di commutazione, con strutture dati ottimali, in grado di spostare una piccola auto che occupa un ampio parcheggio nel piccolo spazio aperto, e poi mettere l'auto grande nell'ora. aprire un grande punto. Non ho idea di come fare questo, oltre il semplice iterare attraverso una serie di spazi di parcheggio occupati e fermarsi quando trovi la tua prima auto piccola. Tuttavia, non sono sicuro che O (n) il tempo per l'inserimento sia il momento migliore, ma ho esaurito le idee per migliorare questo runtime.
Quindi chiedo, qual è il più o almeno un algoritmo più ottimale per trovare e cambiare auto da parcheggi di varie dimensioni?