5. Remove Element
easyAsked at QuoraRemove all occurrences of a value from an array in place and return the new length.
By Alex Chen, Founder, InterviewChamp.AI · Last verified
Problem
Given an integer array nums and an integer val, remove all occurrences of val in nums in place and return the new length. The order of remaining elements may change.
Constraints
0 <= nums.length <= 1000 <= nums[i], val <= 50
Examples
Example 1
nums = [3,2,2,3], val = 32, nums = [2,2,_,_]Example 2
nums = [0,1,2,2,3,0,4,2], val = 25, nums = [0,1,4,0,3,_,_,_]Approaches
1. Filter copy
Build a new array without val then write back.
- Time
- O(n)
- Space
- O(n)
const out = nums.filter(x => x !== val);
for (let i = 0; i < out.length; i++) nums[i] = out[i];
return out.length;Tradeoff:
2. Write pointer
Advance a write index only when value differs from val.
- Time
- O(n)
- Space
- O(1)
function removeElement(nums, val) {
let k = 0;
for (let i = 0; i < nums.length; i++) {
if (nums[i] !== val) nums[k++] = nums[i];
}
return k;
}Tradeoff:
Quora-specific tips
Quora uses simple in-place writes to test whether you reach for streaming filters — their spam-removal pipeline scans answer batches and writes survivors back without allocating shadow arrays.
Solve it now
Free. No sign-up. Python and JavaScript run instantly in your browser.
Practice these live with InterviewChamp.AI
Drill Remove Element and other Quora interview questions under real-loop conditions with instant feedback on your reasoning, complexity claims, and code.
Practice these live with InterviewChamp.AI →