/* * https://leetcode.com/problems/remove-element/description/?envType=study-plan-v2&id=top-interview-150 */ function removeElement(nums: number[], val: number): number { /* I1: nums = [l(k(3)), 2, 2, 3], val = 3 I2: nums = [l(2), k(2), 2, 3], val = 3 I3: nums = [2, l(2), k(2), 3], val = 3 I4: nums = [2, 2, l(3), k(3)], val = 3 */ let l = 0, k = 0; while (k < nums.length) { nums[l] = nums[k]; if (nums[l] !== val) { l++ } k++; } return l; };