Cho một mảng các số nguyên nums. Hãy tìm tất cả các bộ ba [nums[i], nums[j], nums[k]] sao cho i != j, i != k, j != k và nums[i] + nums[j] + nums[k] == 0.
Lưu ý: Bộ nghiệm trả về không được chứa các bộ ba trùng lặp.
Ví dụ 1:
Input: nums = [-1, 0, 1, 2, -1, -4]
Output: [[-1, -1, 2], [-1, 0, 1]]
Định Dạng Đầu Vào (Input)
Định Dạng Đầu Ra (Output)
Ràng Buộc (Constraints)
3 <= nums.length <= 3000
Ví Dụ Kiểm Thử Mẫu
[-1, 0, 1, 2, -1, -4]
[[-1,-1,2],[-1,0,1]]
[0, 1, 1]
[]
Kỹ thuật Sắp Xếp + Two Pointers O(n^2)
Sắp xếp mảng tăng dần. Duyệt qua từng số nums[i] (bỏ qua nếu trùng số trước). Với mỗi i, đặt left = i + 1 và right = n - 1, áp dụng kỹ thuật Two Pointers tìm cặp có tổng bằng -nums[i].
Bấm Chạy thử để kiểm tra các bộ test mẫu hoặc Nộp bài để chấm điểm chính thức.



