
[LeetCode] 3191. Minimum Operations to Make Binary Array Elements Equal to One I (Python)
·
코딩 테스트
Problem Solutionsliding window 연속된 3개 숫자를 뒤집어서 모두 1로 바꿀 수 있는 최소한의 횟수를 구하는 문제.당연히 2중포문을 쓰면 시간초과가 발생한다.n-2까지만 검사해서 nums[i] == 0 이면 i ~ i+2까지 비트연산으로 1, 0을 뒤집는다.연산이 끝나면 answer+=1비트연산 파이선으로 ^= 이더라? 괜히 if~else 구문으로 바꾸고있었네 마지막에 2개숫자가 0이면 연속된 3자리가 아니라 못바꾸므로 바로 리턴 -1아니면 answer return Codeclass Solution: def minOperations(self, nums: List[int]) -> int: n = len(nums) ans = 0 for i i..