Loading the journal
Loading the journal
Two Pointers (Read/Write)
5 in the last 6 months
Community-reported company tags from leetcode-company-wise-problems (updated 2026-10-08). Bar shows how often each company asks it.
Problem
Given an integer array nums and an integer val, remove all occurrences of val in nums in-place. The order of the elements may be changed.
Return k, the number of elements in nums which are not equal to val. The first k elements of nums must contain those elements; the rest does not matter.
Input: nums = [3,2,2,3], val = 3
Output: 2, nums = [2,2,_,_]
Input: nums = [0,1,2,2,3,0,4,2], val = 2
Output: 5, nums = [0,1,4,0,3,_,_,_] (any order of the first 5 is accepted)
0 ≤ nums.length ≤ 100
0 ≤ nums[i] ≤ 50
0 ≤ val ≤ 100
val, packed at the frontk = 0val → k = 0val not present → k = nReading the solution first feels like progress, but it makes the next similar problem — and the interview version — much harder, because you skipped the part where you figure it out. Give it an honest 20–30 minutes. Stuck? Re-read the pattern, watch the concept video, or try the brute force first.
Hidden: approach · solution code