Có được một hoán vị là một function của một duy nhất được đưa ra chỉ số trong O(n)


0 Phiếu
Đã hỏi 25/5/2016 bởi Gur5624The (540,830 điểm)
Tôi muốn có một get_permutation function rằng, được đưa ra một danh sách l và một chỉ số i, một hoán vị của l trả về như vậy mà các hoán vị là duy nhất cho tất cả i lớn hơn 0 và thấp hơn n! (nơi n = len(l)). Tức là get_permutation(l,i) != get_permutation(l,j) nếu i!=j cho tất cả i, j s.t. 0 <= i and j < len(l)!). Hơn nữa, function này đã chạy trong O(n). Ví dụ, function này sẽ tuân thủ các với các yêu cầu, nếu nó không cho đơn đặt hàng mũ:
def get_permutation(l, i):
     return list(itertools.permutations(l))[i]
có ai có một giải pháp cho các bên trên mô tả vấn đề? EDIT: tôi muốn hoán vị từ chỉ mục NOT các chỉ mục từ các hoán vị

Xin vui lòng đăng nhập hoặc đăng ký để trả lời câu hỏi này.


ToughDev Q&A là gì?

Trang web hỏi đáp cho các bạn đam mê lập trình, phát triển phần mềm và các vấn đề kỹ thuật khác. Với sự giúp đỡ của bạn, chúng tôi hy vọng sẽ xây dựng thành công một thư viện đầy đủ các câu hỏi và trả lời về tất cả các vấn đề có liên quan đến lập trình!







...