27. Remove Element
Tags:
Easy
Skills:
Array
June 24, 2025
04:32 AM
No headings found
Loading content...
Related Posts
Leetcode
No headings found
Related Posts
Leetcode
Problem
Đề bài yêu cầu bạn cần loại bỏ tất cả các phần tử có giá trị = val khỏi mảng nums ngay trên mảng đó (in-place) và return về độ dài mới của mảng sau khi loại bỏ. Bạn không được phép tạo thêm mảng mới để lưu kết quả, và thứ tự các phần tử còn lại không quan trọng
Approach - (Two pointer và overwrite)
val , ghi đè nó lên vị trí đầu tiên chưa bị ghi đè (dùng biến đếm)Solution
1function removeElement(nums: number[], val: number): number {
2 let new_length = 0;
3 for(const num of nums) {
4 if(num !== val) {
5 nums[new_length] = num;
6 new_length++
7 }
8 }
9 return new_length
10};Approach - (Two pointer & swap với phần tử cuối)
val, swap với phần tử cuối chưa xét và giảm độ dài mảng đi 1Solution
1function removeElement(nums: number[], val: number): number {
2 let k = nums.length;
3 let i = 0;
4 while (i < k) {
5 if(nums[i] === val) {
6 k--;
7 nums[i] = nums[k]
8 } else {
9 i++
10 }
11 }
12 return k
13};