Hướng dẫn return all permutations of a string python - trả về tất cả các hoán vị của một chuỗi python
Tại sao bạn không đơn giản làm: Show
Bạn không nhận được trùng lặp như bạn có thể thấy: Xem thảo luận Cải thiện bài viết Lưu bài viết Xem thảo luận Cải thiện bài viết Lưu bài viết Đọc Python3Bàn luận
0 1 2Đưa ra một chuỗi, hãy viết một chương trình Python để tìm hiểu tất cả các hoán vị có thể của một chuỗi. Hãy để thảo luận về một vài phương pháp để giải quyết vấn đề.
3= 5Initial string abc Resultant permutations ['abc', 'acb', 'bac', 'bca', 'cba', 'cab']4 Initial string abc Resultant permutations ['abc', 'acb', 'bac', 'bca', 'cba', 'cab']5 8Initial string abc Resultant permutations ['abc', 'acb', 'bac', 'bca', 'cba', 'cab']7 Initial string abc Resultant permutations ['abc', 'acb', 'bac', 'bca', 'cba', 'cab']8 6 7 8 9 Initial string abc Resultant permutations ['abc', 'acb', 'bac', 'bca', 'cba', 'cab']0 = Initial string abc Resultant permutations ['abc', 'acb', 'bac', 'bca', 'cba', 'cab']3 Initial string abc Resultant permutations ['abc', 'acb', 'bac', 'bca', 'cba', 'cab']4 Initial string abc Resultant List ['abc', 'acb', 'bac', 'bca', 'cab', 'cba']0 Initial string abc Resultant List ['abc', 'acb', 'bac', 'bca', 'cab', 'cba']1 Initial string abc Resultant List ['abc', 'acb', 'bac', 'bca', 'cab', 'cba']2 Initial string abc Resultant List ['abc', 'acb', 'bac', 'bca', 'cab', 'cba']3 Initial string abc Resultant List ['abc', 'acb', 'bac', 'bca', 'cab', 'cba']4 Initial string abc Resultant List ['abc', 'acb', 'bac', 'bca', 'cab', 'cba']5 Initial string abc Resultant List ['abc', 'acb', 'bac', 'bca', 'cab', 'cba']6 = Initial string abc Resultant List ['abc', 'acb', 'bac', 'bca', 'cab', 'cba']8 ABC ACB BAC BCA CBA CAB8 ABC ACB BAC BCA CBA CAB9 Enter the string : abc All possible strings are : abc acb bac bca cab cba0 Enter the string : abc All possible strings are : abc acb bac bca cab cba1 Enter the string : abc All possible strings are : abc acb bac bca cab cba2 Enter the string : abc All possible strings are : abc acb bac bca cab cba3 Enter the string : abc All possible strings are : abc acb bac bca cab cba4
0Enter the string : abc All possible strings are : abc acb bac bca cab cba7 Enter the string : abc All possible strings are : abc acb bac bca cab cba2 Enter the string : abc All possible strings are : abc acb bac bca cab cba9 ini_str 0Output: Initial string abc Resultant permutations ['abc', 'acb', 'bac', 'bca', 'cba', 'cab'] Initial string abc Resultant List ['abc', 'acb', 'bac', 'bca', 'cab', 'cba']5 ABC ACB BAC BCA CBA CAB0 ABC ACB BAC BCA CBA CAB1 ABC ACB BAC BCA CBA CAB2 ABC ACB BAC BCA CBA CAB3 Method #2: Using itertools Python3Initial string abc Resultant List ['abc', 'acb', 'bac', 'bca', 'cab', 'cba']5 Initial string abc Resultant List ['abc', 'acb', 'bac', 'bca', 'cab', 'cba']6 = ABC ACB BAC BCA CBA CAB7 Bàn luận Đưa ra một chuỗi, hãy viết một chương trình Python để tìm hiểu tất cả các hoán vị có thể của một chuỗi. Hãy để thảo luận về một vài phương pháp để giải quyết vấn đề.
0"abc" 1Enter the string : abc All possible strings are : abc acb bac bca cab cba2 Enter the string : abc All possible strings are : abc acb bac bca cab cba9 "abc" 4Output: Initial string abc Resultant List ['abc', 'acb', 'bac', 'bca', 'cab', 'cba'] Xem thảo luận Cải thiện bài viết Lưu bài viết Xem thảo luận Cải thiện bài viết Lưu bài viết Đọc Bàn luận Một hoán vị cũng được gọi là một số sắp xếp của người Viking, hoặc đơn đặt hàng, là một sự sắp xếp lại các yếu tố của một danh sách được đặt hàng thành một thư từ một-một với chính s. Một chuỗi độ dài n có n! hoán vị. & nbsp; Nguồn: Mathword (http://mathworld.wolfram.com/permuting.html) Python3Dưới đây là các hoán vị của chuỗi ABC. & NBSP; ABC ACB BAC BCA CBA Cab Dưới đây là một giải pháp được sử dụng làm cơ sở trong việc quay lại. 6 "abc" 6"abc" 7"abc" 8 8print 0 print 1"abc" 7print 3 6 print 5 8Initial string abc Resultant permutations ['abc', 'acb', 'bac', 'bca', 'cba', 'cab']7 Initial string abc Resultant permutations ['abc', 'acb', 'bac', 'bca', 'cba', 'cab']8 8 9 print 8= __ 01Initial string abc Resultant permutations ['abc', 'acb', 'bac', 'bca', 'cba', 'cab']4 print 04Initial string abc Resultant permutations ['abc', 'acb', 'bac', 'bca', 'cba', 'cab']4 Initial string abc Resultant List ['abc', 'acb', 'bac', 'bca', 'cab', 'cba']0 Initial string abc Resultant permutations ['abc', 'acb', 'bac', 'bca', 'cba', 'cab']0 Initial string abc Resultant List ['abc', 'acb', 'bac', 'bca', 'cab', 'cba']2 Initial string abc Resultant List ['abc', 'acb', 'bac', 'bca', 'cab', 'cba']3 13ABC ACB BAC BCA CBA CAB1 Initial string abc Resultant List ['abc', 'acb', 'bac', 'bca', 'cab', 'cba']5 18= 20 30= 32 33= Enter the string : abc All possible strings are : abc acb bac bca cab cba3 36 37= ABC ACB BAC BCA CBA CAB9 36 41Enter the string : abc All possible strings are : abc acb bac bca cab cba1 43 44ABC ACB BAC BCA CBA CAB2 print 3Output: ABC ACB BAC BCA CBA CAB Mô hình thuật toán: Backtracking & nbsp;Backtracking Độ phức tạp về thời gian: O (n*n!) Lưu ý rằng có n! hoán vị và nó yêu cầu thời gian O (n) để in hoán vị.O(n*n!) Note that there are n! permutations and it requires O(n) time to print a permutation. Không gian phụ trợ: O (R - L)O(r – l) Lưu ý: Giải pháp trên in các hoán vị trùng lặp nếu có các ký tự lặp lại trong chuỗi đầu vào. Vui lòng xem liên kết dưới đây cho một giải pháp chỉ in các hoán vị riêng biệt ngay cả khi có các bản sao trong Input. Bản in tất cả các hoán vị riêng biệt của một chuỗi đã cho The above solution prints duplicate permutations if there are repeating characters in the input string. Please see the below link for a solution that prints only distinct permutations even if there are duplicates in input. Cách tiếp cận khác: Python3 6 48 8 9 0Enter the string : abc All possible strings are : abc acb bac bca cab cba3 53____7= Enter the string : abc All possible strings are : abc acb bac bca cab cba1 "abc" 8Initial string abc Resultant permutations ['abc', 'acb', 'bac', 'bca', 'cba', 'cab']4 print 60= 62print 3Initial string abc Resultant permutations ['abc', 'acb', 'bac', 'bca', 'cba', 'cab']4 print 0 8Initial string abc Resultant List ['abc', 'acb', 'bac', 'bca', 'cab', 'cba']0 Initial string abc Resultant permutations ['abc', 'acb', 'bac', 'bca', 'cba', 'cab']0 Initial string abc Resultant List ['abc', 'acb', 'bac', 'bca', 'cab', 'cba']2 Initial string abc Resultant List ['abc', 'acb', 'bac', 'bca', 'cab', 'cba']3 0Enter the string : abc All possible strings are : abc acb bac bca cab cba3 73Initial string abc Resultant permutations ['abc', 'acb', 'bac', 'bca', 'cba', 'cab']4 75= 77Initial string abc Resultant permutations ['abc', 'acb', 'bac', 'bca', 'cba', 'cab']4 79= 81Enter the string : abc All possible strings are : abc acb bac bca cab cba1 83Initial string abc Resultant permutations ['abc', 'acb', 'bac', 'bca', 'cba', 'cab']4 85= 87ABC ACB BAC BCA CBA CAB1 ABC ACB BAC BCA CBA CAB2 90Initial string abc Resultant permutations ['abc', 'acb', 'bac', 'bca', 'cba', 'cab']4 92= 79ABC ACB BAC BCA CBA CAB1 96Initial string abc Resultant permutations ['abc', 'acb', 'bac', 'bca', 'cba', 'cab']4 98ABC ACB BAC BCA CBA CAB1 Initial string abc Resultant permutations ['abc', 'acb', 'bac', 'bca', 'cba', 'cab']00 Initial string abc Resultant permutations ['abc', 'acb', 'bac', 'bca', 'cba', 'cab']01 = Initial string abc Resultant permutations ['abc', 'acb', 'bac', 'bca', 'cba', 'cab']03 Initial string abc Resultant permutations ['abc', 'acb', 'bac', 'bca', 'cba', 'cab']04 = Initial string abc Resultant permutations ['abc', 'acb', 'bac', 'bca', 'cba', 'cab']06____10 ____208
0Initial string abc Resultant permutations ['abc', 'acb', 'bac', 'bca', 'cba', 'cab']12 print 3Initial string abc Resultant permutations ['abc', 'acb', 'bac', 'bca', 'cba', 'cab']14 Output: Enter the string : abc All possible strings are : abc acb bac bca cab cba Độ phức tạp về thời gian: O (n*n!) Độ phức tạp thời gian giống như cách tiếp cận trên, tức là có n! hoán vị và nó yêu cầu thời gian O (n) để in hoán vị. O(n*n!) The time complexity is the same as the above approach, i.e. there are n! permutations and it requires O(n) time to print a permutation. Không gian phụ trợ: O (| s |)O(|s|) Làm thế nào để bạn có được tất cả các kết hợp có thể của các chữ cái trong Python?Khoa học dữ liệu thực tế sử dụng Python.. st_arr: = một danh sách mới .. Đối với I trong phạm vi kích thước của S - 1 đến 0, giảm 1, làm.Đối với j trong phạm vi 0 đến kích thước của st_arr - 1, làm.Chèn (s [i] Concatenate st_arr [j]) ở cuối st_arr.chèn s [i] ở cuối st_arr .. trả lại st_arr .. Làm cách nào để in tất cả các kết hợp của một chuỗi?void Combine (String uster, StringBuffer Overtr, int index) {for (int i = index; i nối một nhân vật .. In kết quả .. Thực hiện một lời mời đệ quy ở cấp I+1 .. Xóa ký tự chúng tôi đã thêm ở bước 1 .. Làm thế nào để bạn tìm thấy tất cả các hoán vị?Để tính toán số lượng hoán vị, hãy lấy số lượng khả năng cho mỗi sự kiện và sau đó nhân số đó với X lần tự x, trong đó x bằng số lượng sự kiện trong chuỗi.Ví dụ, với các chân bốn chữ số, mỗi chữ số có thể dao động từ 0 đến 9, cho chúng ta 10 khả năng cho mỗi chữ số.take the number of possibilities for each event and then multiply that number by itself X times, where X equals the number of events in the sequence. For example, with four-digit PINs, each digit can range from 0 to 9, giving us 10 possibilities for each digit. |