Ich habe heute eine sehr interessante Algorithmusfrage gefunden. Das Folgende ist die Algorithmusbeschreibung, die aus einer Interviewfrage auf Twitter abgeleitet ist.
Beschreibung des Twitter-Puddles-Algorithmus
Schauen Sie sich zuerst ein Bild an
Die Zahlen im Bild oben werden basierend auf dem Inhalt eines Arrays beschrieben. Schließlich wird die Höhe einer Wand basierend auf der Größe jeder Zahl simuliert, und schließlich wird eine Wand generiert Es regnet, diese Wand kann installiert werden. Wie viel Wasser, in Einheiten von 1.
So sieht eine Wand nach dem Befüllen mit Wasser aus
Nachdem ich das obige Bild gelesen habe, finde ich es sehr interessant. Lassen Sie uns kurz die Implementierung des Algorithmus analysieren
Tatsächlich ist dieses Prinzip relativ einfach. Insgesamt gibt es ein paar wichtige Punkte:
1. Die äußerste linke und rechte Seite darf nicht mit Wasser gefüllt sein
2. Die Höhe der Wasserfüllung richtet sich nach dem Minimum der beiden Maximalwerte auf der linken und rechten Seite
Im Folgenden verwenden wir js, um es einfach zu implementieren:
Zusammenfassung
Hey, die Implementierung ist ziemlich einfach. Solange Sie bereit sind zu denken, können Sie mit js viele lustige Dinge erreichen.