Anh chị cho em hỏi cho một mảng số nguyên. Hãy xóa tất cả các phần tử <=0 thì có hàm nào hay giúp em đưa ra ý tưởng để xóa các phần tử đó được không ạ?
Hỏi về cách xóa phần tử trong một mảng 1 chiều trong Java?
Ý tưởng:
- sau khi bị xóa các phần tử đứng sau sẽ bị dịch lên trước đúng bằng tổng số phần tử đã bị xóa
VD: a: 1 -2 -3 4 -5 6
sau khi xóa: 1 4 6
số phần tử đã xóa trước đó: 0 2 3
chênh lệch chỉ số: 0(0-0) 2(3-1) 3(5-2)
function delete(a: int[],int len): int
deleted_count=0
for i=0 to len-1
if a[i]< 0 deleted_count+=1
else :
a[i-deleted_count]=a[i]
return len-deleted_count // trả về kích thước mới của mảng
1 Like
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?