Cơ BảnDSA iconDSA

Khi nào nên xử lý array in-place thay vì tạo array mới?

Xử lý in-place phù hợp khi đề yêu cầu space O(1), input cho phép mutate, hoặc bài kiểm tra khả năng quản lý pointer như remove duplicates, move zeroes, rotate array.

  • Lợi ích là giảm memory và thường thể hiện hiểu rõ invariant của thuật toán.
  • Tuy nhiên in-place dễ lỗi edge case hơn và không phù hợp nếu input phải immutable, cần audit, hoặc code production ưu tiên readability.
  • Trong interview, hãy xác nhận trước: "Can I modify the input array?" Nếu được, nêu invariant rõ ràng, ví dụ write luôn là vị trí hợp lệ tiếp theo để ghi phần tử giữ lại.

Xem toàn bộ DSA cùng filter theo level & chủ đề con.

Mở danh sách DSA