2460. Apply Operations to an Array #21
Unanswered
iamAntimPal
asked this question in
Q&A
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
2460. Apply Operations to an Array
Difficulty: Easy
Topics: Arrays, Operations
Hint: Operations are applied sequentially, not simultaneously.
Problem Statement
You are given a 0-indexed array
numsof sizenconsisting of non-negative integers.You need to apply
n - 1operations to this array where, in the i-th operation (0-indexed), you will do the following on thei-th element ofnums:nums[i] == nums[i + 1], then multiplynums[i]by 2 and setnums[i + 1]to0.After performing all the operations, shift all the
0s to the end of the array.Return the resulting array.
Note: The operations are applied sequentially, not all at once.
Examples
Example 1
Explanation:
nums[0]andnums[1]are not equal, so skip this operation.nums[1]andnums[2]are equal, multiplynums[1]by 2 and setnums[2]to0.Array becomes:
[1,4,0,1,1,0].nums[2]andnums[3]are not equal, skip.nums[3]andnums[4]are equal, multiplynums[3]by 2 and setnums[4]to0.Array becomes:
[1,4,0,2,0,0].nums[4]andnums[5]are equal, multiplynums[4]by 2 and setnums[5]to0.Array remains:
[1,4,0,2,0,0].After shifting all
0s to the end, the result is[1,4,2,0,0,0].Example 2
Explanation:
No operation can be applied. Simply shift the
0to the end.Constraints
2 <= nums.length <= 20000 <= nums[i] <= 1000Discussion
I'm looking for the most efficient approach to solve this problem while handling edge cases such as multiple adjacent equal numbers. Some points for discussion:
I’d love to hear your thoughts, optimizations, or alternative implementations for this problem. Please share your solutions and ideas below!
Feel free to start a discussion and share your implementations. Let’s collaborate and learn together!
Beta Was this translation helpful? Give feedback.
All reactions