// TypeScript
function removeElement(nums: number[], val: number): number {
let l = 0;
for (let r = 0; r < nums.length; r++) {
if (nums[r] === val) {
continue;
}
nums[l] = nums[r];
l++;
}
return l;
};
-- Haskell
removeElement :: Eq a => a -> [] a -> (Int, [] a)
removeElement target xs =
let ys = filter (\x -> x /= target) xs
in (length ys, ys)
-- removeElement 3 [3, 2, 2, 3]
-- (2,[2,2])
-- removeElement 2 [0,1,2,2,3,0,4,2]
-- (5,[0,1,3,0,4])