https://www.codewars.com/kata/52de553ebb55d1fca3000371/python
Soru bildiğimiz dizi içindeki eksik elemanı bulalım sorusu. İnsan öncelikle düşünüyor insan farkları kontrol ederim ve farklı olanı bulurum diyor. O(n) cinsinden bir çözüm buluyoruz. Ancak sonrasında çözümleri okuduğumuzda görüyoruz ki olması gereken toplamdan elimizdeki toplamı çıkardığımızda O(1)’de çözüme ulaşabilmekteyiz. Örnek verirsek:
find_missing=lambda s:(s[0]+s[-1])*(len(s)+1)/2-sum(s) #may42's solution
Codewars O(n) çözüme izin verdiği için çözüm eklenebiliyor ve aslında düşününce bir yığın kütüphane app abi vb içerisinde de böyle yeterince iyi olduğu için duran çözümler bulunmakta. Belki de ilk aklına geldiği şekli ile implemente etmişse programcı belki de bazı bilgisayarlarda çalışamayacak hale gelmektedir. O yüzden ilk aklınıza geleni yazmayın ve biraz düşünün. Hatta benzer problem çözümlerini arayın arama motorunda. O an önemli olmayabilir ama ileride projenin yeniden yazılmasına dahi gidebilecek sorunlara yol açabilir.