মান লক্ষ্য করুন আমাদের কাছে একটি বাইনারি স্ট্রিং s আছে। যদি আমরা স্ট্রিংয়ের সর্বোচ্চ এক জোড়া ক্যারেক্টার সওয়াপ করতে পারি, তবে ফলস্বরূপ সবচেয়ে লম্বা যেকোনো ১-র সাবস্ট্রিংর দৈর্ঘ্য কত হবে তা বের করতে হবে।
উদাহরণস্বরূপ, যদি ইনপুট হয় s = "1111011111", তবে আউটপুট হবে 9, কারণ আমরা s[4] এবং s[9] সওয়াপ করলে ৯টি kontinuous ১ পাওয়া যাবে।
l := 0,cnt := 0,ans := 0rকে ০ থেকেlen(s)পর্যন্ত লুপ চালান:cnt := cnt + (1 if s[r] == "0" else 0)- যদি
cnt > 1হয়, তবে:cnt := cnt - (1 if s[l] == "0" else 0)l := l + 1
ans := max(ans, r - l + 1)
min(ans, s.count("1"))রিটার্ন করুন।
class Solution:
def solve(self, s):
l = 0
cnt = 0
ans = 0
for r in range(len(s)):
cnt += s[r] == "0"
if cnt > 1:
cnt -= s[l] == "0"
l += 1
ans = max(ans, r - l + 1)
return min(ans, s.count("1"))
ob = Solution()
s = "1111011111"
print(ob.solve(s))
"1111011111"
9