You have to be willing to fail, to be wrong, to start over again with lessons learned.
In the realm of algorithms, efficiency and elegance are not mutually exclusive but are often two sides of the same coin.