Skip to main content

5. Remove Element

easyAsked at Wise

Remove all occurrences of a value in place — Wise frames this as scrubbing a failed-transfer flag from a batch payout array before settlement.

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. Return the number of elements not equal to val.

Constraints

  • 0 <= nums.length <= 100
  • 0 <= nums[i] <= 50
  • 0 <= val <= 100

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 and copy

Filter into a new array then copy back.

Time
O(n)
Space
O(n)
const kept = nums.filter(x=>x!==val); for(let i=0;i<kept.length;i++) nums[i]=kept[i]; return kept.length;

Tradeoff:

2. Two pointers

Write pointer trails; skip the bad value.

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

Tradeoff:

Wise-specific tips

Wise grades whether you remember the in-place constraint — settlement batches are huge and copy-allocations bite at scale.

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

Practice these live with InterviewChamp.AI →