Cải thiện bài viết
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[]
= {
using
0using
1using
2using
1using
4using
5
using
6using
7using
1using
9using
1namespace
1using
5
using
6namespace
4using
1namespace
6using
1____28using
1std;
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
using
6{
4
string finddigits[string s]
9 {
0{
8{
2
using
6
1
string finddigits[string s]
9 {
0
5{
2
using
6
8
string finddigits[string s]
9 {
0__72
using
6string num[]
5
string finddigits[string s]
9 {
0string num[]
9{
2
using
6
2
string finddigits[string s]
9 {
0
6{
2
using
6
9
string finddigits[string s]
9 {
0= {
3{
2
using
6= {
6
string finddigits[string s]
9 {
0using
00{
2
using
6using
03
string finddigits[string s]
9 {
0using
07{
2
using
6using
10
string finddigits[string s]
9 {
0using
14{
2
using
6using
17
using
19
using
21
using
23
using
25
using
27
using
29
using
31
string finddigits[string s]
4 string finddigits[string s]
5std;
4 using
36
string finddigits[string s]
4 string finddigits[string s]
5std;
4 using
41
using
6using
43using
44using
45using
46using
47
using
19
using
19
using
53 using
54
using
19
std;
4 using
57
{
using
60using
61std;
9
using
64
using
19
Java
using
66 using
67
using
68 using
69
using
70using
71 using
72
using
70{
using
76
using
77= {
using
0using
1using
2using
1using
4using
84using
7using
1using
9using
5
Các
std;
4namespace
022203 std;
4namespace
05namespace
06namespace
07
namespace
09std;
8std;
9
std;
4 namespace
14
string finddigits[string s]
4 string finddigits[string s]
5std;
4 namespace
19namespace
20namespace
21
using
77string finddigits[string s]
9 namespace
24{
1{
2
namespace
28namespace
20namespace
30
using
77string finddigits[string s]
9 namespace
24{
8{
2
namespace
28namespace
38namespace
30
using
77string finddigits[string s]
9 namespace
24
5{
2
namespace
28namespace
47namespace
30
using
77string finddigits[string s]
9 namespace
24string num[]
2{
2
namespace
28namespace
56namespace
30
using
77string finddigits[string s]
9 namespace
24string num[]
9{
2
namespace
28namespace
65namespace
30
using
77string finddigits[string s]
9 namespace
24
6{
2
namespace
28namespace
74namespace
30
using
77string finddigits[string s]
9 namespace
24= {
3{
2
namespace
28namespace
83namespace
30
using
77string finddigits[string s]
9 namespace
24using
00{
2
namespace
28namespace
92namespace
30
using
77string finddigits[string s]
9 namespace
24using
07{
2
namespace
28std;
01namespace
30
using
77string finddigits[string s]
9 namespace
24using
14{
2
namespace
28std;
10namespace
30
using
19
namespace
28namespace
83std;
17namespace
56namespace
07
namespace
28namespace
65std;
17namespace
83namespace
07
namespace
28namespace
92std;
17namespace
65namespace
07
namespace
28namespace
74std;
35namespace
38std;
37namespace
92std;
37namespace
20std;
41
namespace
28std;
01std;
17namespace
47namespace
07
namespace
28std;
10std;
35namespace
65std;
37namespace
56std;
37namespace
47std;
41
string finddigits[string s]
4 string finddigits[string s]
5std;
4 namespace
19namespace
20std;
64namespace
06std;
66
using
77string finddigits[string s]
4 string finddigits[string s]
5std;
4 std;
71namespace
20std;
73
using
43using
44using
45using
46using
47
using
777____119
using
19
using
53 using
54
using
70using
19
using
70std;
90 using
71 std;
92 std;
93
using
70{
std;
97using
61std;
9
string finddigits[string s]
01
using
70using
19
using
19
Python3
string finddigits[string s]
05 string finddigits[string s]
06
string finddigits[string s]
08string finddigits[string s]
09 string finddigits[string s]
10using
0using
1____12using
1using
4using
1using
7using
5
Các
using
6namespace
8using
1std;
0string finddigits[string s]
32
string finddigits[string s]
34string finddigits[string s]
09 namespace
05namespace
20string finddigits[string s]
38string finddigits[string s]
39 string finddigits[string s]
5namespace
06{
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
using
6namespace
28namespace
20string finddigits[string s]
38string finddigits[string s]
69string finddigits[string s]
09 namespace
74
string finddigits[string s]
9 string finddigits[string s]
60____409string finddigits[string s]
09 {
8string finddigits[string s]
64
using
6namespace
28namespace
38string finddigits[string s]
38string finddigits[string s]
69string finddigits[string s]
09 namespace
74
string finddigits[string s]
9 string finddigits[string s]
60____409string finddigits[string s]
09
5string finddigits[string s]
64
using
6namespace
28namespace
47string finddigits[string s]
38string finddigits[string s]
69string finddigits[string s]
09 namespace
74
‘
using
6namespace
28namespace
56string finddigits[string s]
38string finddigits[string s]
69string finddigits[string s]
09 namespace
74
string finddigits[string s]
9 string finddigits[string s]
60____409string finddigits[string s]
09 string num[]
9string finddigits[string s]
64
using
6namespace
28namespace
65string finddigits[string s]
38string finddigits[string s]
69string finddigits[string s]
09 namespace
74
string finddigits[string s]
9 string finddigits[string s]
60____409string finddigits[string s]
09
6string finddigits[string s]
64
using
6namespace
28namespace
74string finddigits[string s]
38string finddigits[string s]
69string finddigits[string s]
09 namespace
74
string finddigits[string s]
9 string finddigits[string s]
60____409string finddigits[string s]
09 = {
3string finddigits[string s]
64
using
6namespace
28namespace
83string finddigits[string s]
38string finddigits[string s]
69string finddigits[string s]
09 namespace
74
string finddigits[string s]
9 string finddigits[string s]
60____409string finddigits[string s]
09 using
00string finddigits[string s]
64
Các
‘
using
6namespace
28std;
01string finddigits[string s]
38string finddigits[string s]
69string finddigits[string s]
09 namespace
74
string finddigits[string s]
9 string finddigits[string s]
60____409string finddigits[string s]
09 using
14string finddigits[string s]
64
using
6namespace
28std;
10string finddigits[string s]
38string finddigits[string s]
69string finddigits[string s]
09 namespace
74
namespace
28namespace
83string finddigits[string s]
38
022
namespace
28namespace
65____438
022
namespace
28namespace
92 ____438
022
namespace
28namespace
74string finddigits[string s]
38
022
namespace
28std;
01string finddigits[string s]
38
022
namespace
28std;
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]
5namespace
06string finddigits[string s]
64
string finddigits[string s]
4
78string finddigits[string s]
55 string finddigits[string s]
56
81
Các
using
53
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 using
61
string num[]
07string num[]
08
C#
using
string num[]
10
std;
90 using
68 string num[]
13
{
using
70using
71 string num[]
17 string num[]
18string num[]
17 string num[]
20
using
70{
std;
4namespace
022203 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
using
77string finddigits[string s]
9 {
0{
1{
2
{
4
using
77string finddigits[string s]
9 {
0{
8{
2
1
using
77string finddigits[string s]
9 {
0
5{
2
8
using
77string finddigits[string s]
9 {
0__72
string num[]
5
using
77string finddigits[string s]
9 {
0string num[]
9{
2
2
using
77string finddigits[string s]
9 {
0
6{
2
9
using
77string finddigits[string s]
9 {
0= {
3{
2
= {
6
using
77string finddigits[string s]
9 {
0using
00{
2
using
03
using
77string finddigits[string s]
9 {
0using
07{
2
using
10
using
77string finddigits[string s]
9 {
0using
14{
2
using
17
using
19
using
21
using
23
using
25
using
27
using
29
using
31
string finddigits[string s]
4 string finddigits[string s]
5std;
4 using
36
using
77string finddigits[string s]
4 string finddigits[string s]
5std;
4 using
41
using
43using
44using
45using
46using
47
using
77using
19
using
19
using
53 using
54
using
70using
19
using
70using
71 std;
90 std;
92
55
using
70{
string num[]
17
60using
61std;
9
64
using
70using
19
using
19
JavaScript
68
69
70
{
73using
0using
1using
2using
1using
4using
5
using
6using
7using
1using
9using
1namespace
1using
5
using
6namespace
4using
1namespace
6using
1____28using
1std;
0
97namespace
03
99
= {
01std;
8std;
9
= {
05
string finddigits[string s]
4 = {
08
string finddigits[string s]
9 {
0{
1{
2
using
6{
4
string finddigits[string s]
9 {
0{
8{
2
using
6
1
string finddigits[string s]
9 {
0
5{
2
using
6
8
string finddigits[string s]
9 {
0__72
using
6string num[]
5
string finddigits[string s]
9 {
0string num[]
9{
2
using
6
2
string finddigits[string s]
9 {
0
6{
2
using
6
9
string finddigits[string s]
9 {
0= {
3{
2
using
6= {
6
string finddigits[string s]
9 {
0using
00{
2
using
6using
03
string finddigits[string s]
9 {
0using
07{
2
using
6using
10
string finddigits[string s]
9 {
0using
14{
2
using
6using
17
using
19
using
21
using
23
using
25
using
27
using
29
using
31
string finddigits[string s]
4 = {
95
string finddigits[string s]
4 = {
98
using
6using
000
using
19
using
19
using
53 using
54
using
19
using
009using
61std;
9
using
012using
013using
47
using
015
using
70using
71 std;
90 std;
92
55 O[N] where N is the length of the
string
Auxiliary Space: O[N]