Hướng dẫn extract numbers from a jumbled string python - trích xuất các số từ một chuỗi python lộn xộn

Cải thiện bài viết

Show

    Lưu bài viết

    Cho một chuỗi s có độ dài n là biểu diễn tiếng Anh của bất kỳ số chữ số nào trong phạm vi [0 - 9] ở định dạng lộn xộn. Nhiệm vụ là tìm các chữ số từ đại diện này. & Nbsp; Lưu ý: In chữ số theo bất kỳ thứ tự nàoS of length N which is the English representation of any number of digits in the range [0 – 9] in jumbled format. The task is to find the digits from this representation. 
    Note: Print digits in any order

    Ví dụ

    Đầu vào: S = Đầu ra Owoftnuoer đầu ra: 124Explanation: Các chữ số ở đây là dạng lộn xộn của một, hai và bốn. Do đó, đầu ra cần thiết có thể là 124 hoặc 421 hoặc 214, v.v.S = “owoftnuoer”
    Output: 124
    Explanation: The digits here are jumbled form of one, two and four. Therefore, the required output can be 124 or 421 or 214 etc.

    Đầu vào: S = Đầu ra của Zesxrionezoreo: 0016: S = “zesxrionezoreo”
    Output: 0016

    Cách tiếp cận: Vấn đề này có thể được giải quyết dễ dàng bằng cách quan sát một thực tế thú vị rằng tất cả các chữ số thậm chí có ít nhất một ký tự không có trong bất kỳ chuỗi nào khác, trong khi tất cả các chữ số lẻ don don:This problem can be solved easily by observing an interesting fact that all even digits have at least one character not present in any other strings, while all odd digits don’t:

    Các chữ số sau có các chữ cái duy nhất:

    • Zero: Chỉ chữ số có zOnly digit with z
    • Hai: Chỉ chữ số có WOnly digit with w
    • Bốn: Chỉ chữ số với bạn Only digit with u
    • Sáu: Chỉ chữ số với x Only digit with x
    • Tám: Chỉ có chữ số với GOnly digit with g

    Đối với các chữ số lẻ, mỗi chữ cái cũng xuất hiện trong một số chữ số khác. Các chữ số lẻ trong các từ là {một, ba, năm, bảy, chín}. Thực hiện theo các bước được đưa ra dưới đây để giải quyết vấn đề

    • Tạo một vectơ của các chuỗi Num sẽ giữ các số bằng chữ cái tiếng Anh từ 0 đến 9 và một vectơ số nguyên, đếm [] có kích thước 10 và cũng tạo ra một chuỗi câu trả lời ANS để hiển thị các số.num that will hold the numbers in English letter from 0 to 9 and a vector of integers, count[] of size 10 and also create an answer string ans to display the numbers.
    • Bây giờ, qua chuỗi đã cho từ i = 0 đến n-1.i = 0 to N-1.
    • Nếu s [i] = ‘z, tăng số lượng [0] lên 1.s[i] = ‘z’, increase count[0] by 1.
    • Nếu s [i] = ‘w, tăng số lượng [2] lên 1.s[i] = ‘w’, increase count[2] by 1.
    • Nếu s [i] = ’g, tăng số lượng [8] lên 1.s[i] = ‘g’, increase count[8] by 1.
    • Nếu s [i] = ‘x, tăng số lượng [6] lên 1.s[i] = ‘x’, increase count[6] by 1.
    • Nếu S [i] = ‘V, tăng số lượng [5] lên 1.s[i] = ‘v’, increase count[5] by 1.
    • Nếu s [i] = ‘o, tăng số lượng [1] lên 1.s[i] = ‘o’, increase count[1] by 1.
    • Nếu s [i] = ‘s, tăng số lượng [7] lên 1.s[i] = ‘s’, increase count[7] by 1.
    • Nếu s [i] = ’f, tăng số lượng [4] lên 1. s[i] = ‘f’, increase count[4] by 1.
    • Nếu S [i] = ‘H, tăng số lượng [3] lên 1.s[i] = ‘h’, increase count[3] by 1.
    • Nếu s [i] = ‘i, tăng số lượng [9] lên 1.s[i] = ‘i’, increase count[9] by 1.
    • Bây giờ, hãy cập nhật các yếu tố của vectơ như hình dưới đây:
    • Đếm [7] = Đếm [7] - Đếm [6]..
    • Đếm [5] = Đếm [5] - Đếm [7]..
    • Đếm [4] = Đếm [4] - Đếm [5]..
    • Đếm [1] = Đếm [1] - (Đếm [2] + Đếm [4] + Đếm [0])..
    • Đếm [3] = Đếm [3] - Đếm [8]..
    • Đếm [9] = Đếm [9] - (Đếm [5] + Đếm [6] + Đếm [8])..
    • Bây giờ, đi qua vectơ từ 0 đến 9 và ký tự (i + ‘0,) vào ANS, đếm [i] lần. 0 to 9 and append character (i + ‘0’) to ans, count[i] times.
    • Cuối cùng, in ANS như câu trả lời cần thiết.ans as the required answer.

    Dưới đây là việc thực hiện phương pháp trên:

    C++

    #include

    using namespace std;

    string finddigits(string s)

    {

        string num[]

            = { using0using1using2using1using4using5

    using6using7using1using9using1namespace1using5

    using6namespace4using1namespace6using1____28using1std;0

        std;3std;4std;5

        std;7std;8std;9

        std;4 string finddigits(string s)2

        string finddigits(string s)4 string finddigits(string s)5std;4 string finddigits(string s)7

            string finddigits(string s)9 {0{1{2

    using6{4

            string finddigits(string s)9 {0{8{2

    using6    1

            string finddigits(string s)9 {0    5{2

    using6    8

            string finddigits(string s)9 {0__72

    using6string num[]5

            string finddigits(string s)9 {0string num[]9{2

    using6        2

            string finddigits(string s)9 {0        6{2

    using6        9

            string finddigits(string s)9 {0= { 3{2

    using6= { 6

            string finddigits(string s)9 {0using00{2

    using6using03

            string finddigits(string s)9 {0using07{2

    using6using10

            string finddigits(string s)9 {0using14{2

    using6using17

        using19

        using21

        using23

        using25

        using27

        using29

        using31

        string finddigits(string s)4 string finddigits(string s)5std;4 using36

            string finddigits(string s)4 string finddigits(string s)5std;4 using41

    using6using43using44using45using46using47

            using19

        using19

        using53 using54

    using19

    std;4 using57

    {

        using60using61std;9

        using64

    using19

    Java

    using66 using67

    using68 using69

    using70using71 using72

    using70{

        using76

    using77= { using0using1using2using1using4using84using7using1using9using5

    Các

        std;4namespace022203 std;4namespace05namespace06namespace07

        namespace09std;8std;9

        std;4 namespace14

        string finddigits(string s)4 string finddigits(string s)5std;4 namespace19namespace20namespace21

    using77string finddigits(string s)9 namespace24{1{2

            namespace28namespace20namespace30

    using77string finddigits(string s)9 namespace24{8{2

            namespace28namespace38namespace30

    using77string finddigits(string s)9 namespace24    5{2

            namespace28namespace47namespace30

    using77string finddigits(string s)9 namespace24string num[]2{2

            namespace28namespace56namespace30

    using77string finddigits(string s)9 namespace24string num[]9{2

            namespace28namespace65namespace30

    using77string finddigits(string s)9 namespace24        6{2

            namespace28namespace74namespace30

    using77string finddigits(string s)9 namespace24= { 3{2

            namespace28namespace83namespace30

    using77string finddigits(string s)9 namespace24using00{2

            namespace28namespace92namespace30

    using77string finddigits(string s)9 namespace24using07{2

            namespace28std;01namespace30

    using77string finddigits(string s)9 namespace24using14{2

            namespace28std;10namespace30

        using19

        namespace28namespace83std;17namespace56namespace07

        namespace28namespace65std;17namespace83namespace07

        namespace28namespace92std;17namespace65namespace07

        namespace28namespace74std;35namespace38std;37namespace92std;37namespace20std;41

        namespace28std;01std;17namespace47namespace07

        namespace28std;10std;35namespace65std;37namespace56std;37namespace47std;41

        string finddigits(string s)4 string finddigits(string s)5std;4 namespace19namespace20std;64namespace06std;66

    using77string finddigits(string s)4 string finddigits(string s)5std;4 std;71namespace20std;73

            using43using44using45using46using47

    using777____119

        using19

        using53 using54

    using70using19

    using70std;90 using71 std;92 std;93

    using70{

        std;97using61std;9

        string finddigits(string s)01

    using70using19

    using19

    Python3

    string finddigits(string s)05 string finddigits(string s)06

        string finddigits(string s)08string finddigits(string s)09 string finddigits(string s)10using0using1____12using1using4using1using7using5

    Các

    using6namespace8using1std;0string finddigits(string s)32

        string finddigits(string s)34string finddigits(string s)09 namespace05namespace20string finddigits(string s)38string finddigits(string s)39 string finddigits(string s)5namespace06{2

        string finddigits(string s)44string finddigits(string s)09 std;8

        string finddigits(string s)48string finddigits(string s)09 string finddigits(string s)50string finddigits(string s)51

        string finddigits(string s)4 string finddigits(string s)54string finddigits(string s)55 string finddigits(string s)56string finddigits(string s)57

            string finddigits(string s)9 string finddigits(string s)60____409string finddigits(string s)09 {1string finddigits(string s)64

    using6namespace28namespace20string finddigits(string s)38string finddigits(string s)69string finddigits(string s)09 namespace74

            string finddigits(string s)9 string finddigits(string s)60____409string finddigits(string s)09 {8string finddigits(string s)64

    using6namespace28namespace38string finddigits(string s)38string finddigits(string s)69string finddigits(string s)09 namespace74

            string finddigits(string s)9 string finddigits(string s)60____409string finddigits(string s)09     5string finddigits(string s)64

    using6namespace28namespace47string finddigits(string s)38string finddigits(string s)69string finddigits(string s)09 namespace74

    using6namespace28namespace56string finddigits(string s)38string finddigits(string s)69string finddigits(string s)09 namespace74

            string finddigits(string s)9 string finddigits(string s)60____409string finddigits(string s)09 string num[]9string finddigits(string s)64

    using6namespace28namespace65string finddigits(string s)38string finddigits(string s)69string finddigits(string s)09 namespace74

            string finddigits(string s)9 string finddigits(string s)60____409string finddigits(string s)09         6string finddigits(string s)64

    using6namespace28namespace74string finddigits(string s)38string finddigits(string s)69string finddigits(string s)09 namespace74

            string finddigits(string s)9 string finddigits(string s)60____409string finddigits(string s)09 = { 3string finddigits(string s)64

    using6namespace28namespace83string finddigits(string s)38string finddigits(string s)69string finddigits(string s)09 namespace74

            string finddigits(string s)9 string finddigits(string s)60____409string finddigits(string s)09 using00string finddigits(string s)64

    Các

    using6namespace28std;01string finddigits(string s)38string finddigits(string s)69string finddigits(string s)09 namespace74

            string finddigits(string s)9 string finddigits(string s)60____409string finddigits(string s)09 using14string finddigits(string s)64

    using6namespace28std;10string finddigits(string s)38string finddigits(string s)69string finddigits(string s)09 namespace74

        namespace28namespace83string finddigits(string s)38    022

        namespace28namespace65____438    022

        namespace28namespace92 ____438    022

        namespace28namespace74string finddigits(string s)38    022

        namespace28std;01string finddigits(string s)38    022

        namespace28std;10____438    022

        string finddigits(string s)4 string finddigits(string s)54string finddigits(string s)55 string finddigits(string s)56string finddigits(string s)5namespace06string finddigits(string s)64

            string finddigits(string s)4     78string finddigits(string s)55 string finddigits(string s)56    81

    Các

        using53     95

    string finddigits(string s)9     97string finddigits(string s)09string finddigits(string s)09 string num[]00string num[]01

        string num[]03string finddigits(string s)09 using61

        string num[]07string num[]08

    C#

    using string num[]10

    std;90 using68 string num[]13

    {

    using70using71 string num[]17 string num[]18string num[]17 string num[]20

    using70{

        std;4namespace022203 std;4string num[]28

        string num[]17 string num[]31std;8std;9

        std;4 string num[]36

        string finddigits(string s)4 string finddigits(string s)5std;4 string finddigits(string s)7

    using77string finddigits(string s)9 {0{1{2

            {4

    using77string finddigits(string s)9 {0{8{2

                1

    using77string finddigits(string s)9 {0    5{2

                8

    using77string finddigits(string s)9 {0__72

            string num[]5

    using77string finddigits(string s)9 {0string num[]9{2

                    2

    using77string finddigits(string s)9 {0        6{2

                    9

    using77string finddigits(string s)9 {0= { 3{2

            = { 6

    using77string finddigits(string s)9 {0using00{2

            using03

    using77string finddigits(string s)9 {0using07{2

            using10

    using77string finddigits(string s)9 {0using14{2

            using17

        using19

        using21

        using23

        using25

        using27

        using29

        using31

        string finddigits(string s)4 string finddigits(string s)5std;4 using36

    using77string finddigits(string s)4 string finddigits(string s)5std;4 using41

            using43using44using45using46using47

    using77using19

        using19

        using53 using54

    using70using19

    using70using71 std;90 std;92         55

    using70{

        string num[]17         60using61std;9

                64

    using70using19

    using19

    JavaScript

            68

            69         70

    {

                73using0using1using2using1using4using5

    using6using7using1using9using1namespace1using5

    using6namespace4using1namespace6using1____28using1std;0

                97namespace03         99

        = { 01std;8std;9

        = { 05

        string finddigits(string s)4 = { 08

            string finddigits(string s)9 {0{1{2

    using6{4

            string finddigits(string s)9 {0{8{2

    using6    1

            string finddigits(string s)9 {0    5{2

    using6    8

            string finddigits(string s)9 {0__72

    using6string num[]5

            string finddigits(string s)9 {0string num[]9{2

    using6        2

            string finddigits(string s)9 {0        6{2

    using6        9

            string finddigits(string s)9 {0= { 3{2

    using6= { 6

            string finddigits(string s)9 {0using00{2

    using6using03

            string finddigits(string s)9 {0using07{2

    using6using10

            string finddigits(string s)9 {0using14{2

    using6using17

        using19

        using21

        using23

        using25

        using27

        using29

        using31

        string finddigits(string s)4 = { 95

            string finddigits(string s)4 = { 98

    using6using000

            using19

        using19

        using53 using54

    using19

    using009using61std;9

    using012using013using47

    using015

    using70using71 std;90 std;92         55 O(N) where N is the length of the string
    Auxiliary Space: O(N)