Ist es möglich, dieses Problem mit einer Lösung zu lösen, deren zeitliche Komplexität besser als linear ist?Ist es möglich, dies zu lösen, mit einer Lösung, deren zeitliche Komplexität besser als linear ist?
N Glühbirnen sind mit einem Kabel verbunden. Jeder Glühbirne ist ein Schalter zugeordnet, jedoch ändert ein Schalter aufgrund fehlerhafter Verdrahtung auch den Zustand aller Glühbirnen rechts von der aktuellen Glühbirne. Stellen Sie bei einem Anfangszustand aller Lampen die Mindestanzahl an Schaltern fest, die Sie drücken müssen, um alle Lampen einzuschalten. Sie können den gleichen Schalter mehrmals drücken.
Hinweis: 0 bedeutet, dass die Glühbirne ausgeschaltet ist und 1 bedeutet, dass die Glühbirne eingeschaltet ist.
Input: [0 1 0 1]
Schritte:
press switch 0 : [1 0 1 0]
press switch 1 : [1 1 0 1]
press switch 2 : [1 1 1 0]
press switch 3 : [1 1 1 1]
Rückkehr: 4
Wenn Ihre Eingabe ein Bitvektor ist, der in einer Ganzzahl mit fester Breite gespeichert ist, ja. Wie sonst vermeiden Sie es, das gesamte Array zu durchlaufen? – Veedrac
Ich stimme zu, ist nicht möglich, besser als lineare Zeit zu tun –