2025-08-20 10:06:17 +0000 UTC
Apply Operations to an Array
Categories:
Links
Code
class Solution:
def applyOperations(self, nums: List[int]) -> List[int]:
n = len(nums)
for i in range(1, n):
cur, prev = nums[i], nums[i - 1]
if prev != 0 and cur == prev:
nums[i], nums[i - 1] = 0, prev * 2
left, right = 0, 1
while left < n and right < n:
num1, num2 = nums[left], nums[right]
if num1 != 0:
left += 1
elif num2 == 0:
right += 1
elif left >= right:
right += 1
else:
nums[left], nums[right] = num2, 0
left += 1
right += 1
return nums