Skip to main content

5. Remove Element

easyAsked at Indeed

Strip all instances of a target value from an array in place and return the new length — Indeed uses it to test in-place filtering before sponsored-listing removal problems.

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 count of remaining elements. The order of the remaining elements may be changed.

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,3,0,4,_,_,_]

Approaches

1. Filter copy

Build a new array of non-matching elements.

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. Two pointers

Slow pointer writes kept values; fast pointer walks the array.

Time
O(n)
Space
O(1)
function removeElement(nums, val) {
  let slow = 0;
  for (let fast = 0; fast < nums.length; fast++) {
    if (nums[fast] !== val) {
      nums[slow] = nums[fast];
      slow++;
    }
  }
  return slow;
}

Tradeoff:

Indeed-specific tips

Indeed uses this template to gauge if you can filter sponsored vs organic listings in place — name-drop how the two-pointer write index maps to a streaming filter.

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 Indeed interview questions under real-loop conditions with instant feedback on your reasoning, complexity claims, and code.

Practice these live with InterviewChamp.AI →