Skip to main content

5. Remove Element

easyAsked at Quora

Remove 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 <= 100
  • 0 <= nums[i], val <= 50

Examples

Example 1

Input
nums = [3,2,2,3], val = 3
Output
2, nums = [2,2,_,_]

Example 2

Input
nums = [0,1,2,2,3,0,4,2], val = 2
Output
5, 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.

Output

Press Run or Cmd+Enter to execute

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 →