सभी बल्ब्स ऑफ (0) से शुरू करके, टारगेट बाइनरी स्ट्रिंग पाने के लिए मिनिमम फ्लिप्स: इंडेक्स i से अंत तक सभी फ्लिप होते हैं।
एल्गोरिदम
count = 0,x = '0'(करंट एक्सपेक्टेड स्टेट)।- टारगेट स्ट्रिंग के प्रत्येक कैरेक्टर के लिए: अगर
i != xतोcount++,x = i(फ्लिप हुआ)। countरिटर्न करें।
उदाहरण कोड
def solve(t):
count = 0
x = '0'
for i in t:
if i != x:
count += 1
x = i
return count
# टेस्ट: t="0101" -> फ्लिप्स: 0→1 (i=1), 1→0 (i=2), 0→1 (i=3) -> 3
इनपुट/आउटपुट
इनपुट: "0101"
आउटपुट: 3