Trong một chương trình tôi đang làm mà tạo ra đảo chữ cho một tập hợp các chữ cái, cách tiếp cận hiện tại của tôi là:Thuật toán cho các phép tính không lặp lại?
- Nhận tất cả các kết hợp của tất cả các chữ
- Lấy hoán vị của từng nhóm kết hợp
- Sắp xếp các hoán vị kết quả theo thứ tự abc
- Remove mục trùng lặp
câu hỏi của tôi gắn liền với toán học của hoán vị. Tôi tự hỏi nếu có thể tính toán kích thước mảng cần thiết để lưu trữ tất cả các mục còn lại sau khi loại bỏ các mục trùng lặp (sử dụng, nói, số lượng chữ cái lặp lại kết hợp với công thức hoán vị hoặc một cái gì đó).
Tôi xin lỗi về sự mơ hồ của câu hỏi của tôi, tôi vẫn đang nghiên cứu thêm về các kết hợp và hoán vị. Tôi sẽ cố gắng xây dựng mục tiêu của mình khi sự hiểu biết về sự kết hợp và hoán vị mở rộng, và một khi tôi làm quen với chương trình của mình (đó là dự án thời gian rảnh của mùa hè năm ngoái).
Nhìn vào [Biến thể/Danh sách không lặp lại] (http://stackoverflow.com/questions/1900197/generating-variations-without-repetitions-permutations-in-java). Có một vài giải pháp khác nhau. – hariprasad