Hướng dẫn subsequence in python assignment expert - subsequence trong chuyên gia gán python

Bạn được cung cấp một loạt các số nguyên không âm: A1, A2, ..., An. Một phần sau xen kẽ là một phần sau trong đó các chỉ số của bất kỳ hai yếu tố liên tiếp nào khác nhau chính xác hai trong mảng gốc. Đó là, nếu ai1, ai2, ..., AIK là một số phần sau, sau đó để nó là một chuỗi con xen kẽ, (i2 - i1 = 2), (i3 - i2 = 2), v.v. Trong số tất cả các chuỗi xen kẽ, tìm phần có tổng số phần tử và đầu ra tổng đó.

Đầu vào

Dòng đầu tiên của đầu vào chứa một số nguyên T biểu thị số lượng trường hợp thử nghiệm.

Dòng đầu tiên của mỗi trường hợp thử nghiệm chứa một số nguyên n biểu thị số lượng phần tử trong mảng.

Dòng thứ hai chứa N số nguyên được phân tách không gian A1, A2, ..., một biểu thị cho mảng A.

Đầu ra

Đối với mỗi trường hợp kiểm tra, xuất một dòng duy nhất chứa câu trả lời.

Ghi chú

Một phần sau chỉ có một số nguyên duy nhất cũng là một phần sau xen kẽ.

Hạn chế

1 ≤ t ≤ 10

1 ≤ n ≤ 105

0 ≤ ai ≤ 105

#include 7#include 1 isSubSequence(3N non-negative integers: A1A2, ..., AN. An alternating subsequence is a subsequence in which the indices of any two consecutive elements differ by exactly two in the original array. That is, if Ai1Ai2, ..., Aik is some subsequence, then for it to be an alternating subsequence, (i2 - i1 = 2), (i3 - i2 = 2), and so on should all hold true. Among all alternating subsequences, find the one which has maximum sum of elements, and output that sum.

Tác giả: HarryHarry

Xin chào các bạn, cảm ơn vì đã ghé thăm trang web của tôi. Tôi là một lập trình viên Python. Tôi, với một số thành viên khác, viết blog trên trang web này dựa trên Python và lập trình. Chúng tôi vẫn đang trong giai đoạn phát triển đó là lý do tại sao thiết kế trang web không tốt và có nhiều thứ khác cần được sửa chữa trong trang web này nhưng tôi hy vọng tất cả những điều này sẽ xảy ra vào một ngày nào đó. Nhưng, cho đến lúc đó chúng ta sẽ không ngăn mình tải lên các bài viết tuyệt vời hơn. Nếu bạn muốn tham gia với chúng tôi hoặc có bất kỳ câu hỏi nào, bạn có thể gửi thư cho tôi cảm ơn bạn

Cho hai chuỗi str1 và str2, hãy tìm nếu str1 là một phần sau của str2. & Nbsp;

Một phần sau là một chuỗi có thể được lấy từ một chuỗi khác bằng cách xóa một số yếu tố mà không thay đổi thứ tự của các yếu tố còn lại.

Ví dụ: & nbsp;

Đầu vào: str1 = Hồi Axy, str2 = đầu ra của ADXCPY str1 = “AXY”, str2 = “ADXCPY”
Output: True (str1 is a subsequence of str2)

Đầu vào: str1 = Hồi Axy, str2 = đầu ra của YADXCP: FALSE str1 = “AXY”, str2 = “YADXCP”
Output: False (str1 is not a subsequence of str2)

Đầu vào: str1 = Hồi Gksrek, str2 = đầu ra GeekSforGeek đầu ra: true (str1 là một phần sau của str2) str1 = “gksrek”, str2 = “geeksforgeeks”
Output: True (str1 is a subsequence of str2)

Chuỗi thứ nhất là một chuỗi thứ hai bởi đệ quy:

Ý tưởng rất đơn giản, đi qua cả hai chuỗi từ bên này sang bên khác (giả sử từ ký tự ngoài cùng bên phải đến ngoài cùng bên trái). Nếu chúng ta tìm thấy một nhân vật phù hợp, hãy tiến lên phía trước trong cả hai chuỗi. Nếu không, chỉ di chuyển về phía trước trong str2. & Nbsp;

Dưới đây là việc thực hiện ý tưởng trên:

C++

#include

#include

using namespace std;

bool isSubSequence(char str1[], char #include 1#include 2 #include 3#include 2

#include 6

#include 7#include 8 #include 9

#include 0__21 #include 22

#include 7#include 8 #include 6

#include 0____21 #include 9#include 3

#include 7#include 8 using3

#include 0#include 1 using6

#include 7#include 1 using9

namespace0

#include 2 namespace2

#include 6

#include 7char namespace6namespace7#include 3

#include 7char std;1std;223

#include 7#include 2 std;6std;7std;8

#include 7#include 2 bool1std;7bool3

#include 7bool5bool6

bool7bool8bool9#include 3

#include 7#include 1 isSubSequence(3

namespace0

Java

isSubSequence(5 isSubSequence(6

isSubSequence(7 isSubSequence(8

#include 7char0 char1 char2

char3#include 2 #include 3#include 2 #include 5

#include 7#include 6

#include 0#include 8 str1[], 2str1[], 3str1[], 4

str1[], 5#include 1 #include 22.

#include 0#include 8 #include 01str1[], 3str1[], 4

str1[], 5#include 1 #include 9#include 3

#include 0#include 8 #include 10#include 11#include 12#include 11#include 14

str1[], 5#include 1 #include 17#include 11#include 19#include 11#include 21

#include 0____21 #include 24#include 11#include 21

#include 7namespace0

#include 7#include 30 char0 #include 32 #include 33

#include 7#include 6

#include 0#include 37namespace7#include 3

#include 0#include 41std;2#include 3

#include 0#include 2 #include 46

#include 0#include 2 #include 49

#include 0char1 #include 52

#include 0#include 8 #include 55

str1[], 5#include 57#include 58#include 21

#include 0#include 61

str1[], 5#include 57bool9#include 21

#include 7namespace0

namespace0

Python3

#include 69 #include 70

#include 7#include 8 #include 73#include 74#include 74 str1[], 3#include 77

#include 0#include 1 #include 80

#include 7#include 8 #include 83#include 74#include 74 str1[], 3#include 77

#include 0#include 1 #include 90

Is

#include 0#include 1 #include 05#include 94#include 11#include 08#include 94#include 11str1[], 4

#include 7#include 1 #include 14#include 94#include 11str1[], 4

#include 18#include 74 namespace7

#include 21#include 74 std;2

#include 8 #include 25#include 26#include 27#include 26#include 29

#include 7#include 31 #include 32#include 58str1[], 4

#include 61#include 77

#include 7#include 31 #include 32bool9str1[], 4

C#

using #include 43

isSubSequence(7 #include 45

#include 7char0 bool isSubSequence(#include 50 #include 51#include 50 #include 53

#include 54#include 2 #include 3#include 2 #include 5

#include 7#include 6

#include 0#include 8 #include 9

str1[], 5#include 1 #include 22.

#include 0#include 8 #include 01str1[], 3str1[], 4

str1[], 5#include 1 #include 9#include 3

#include 0#include 8 #include 10#include 11#include 12#include 11#include 14

str1[], 5#include 1 #include 17#include 11#include 19#include 11#include 21

#include 0____21 #include 24#include 11#include 21

#include 7namespace0

#include 7namespace0

#include 7#include 6

#include 0#include 50 #include 95namespace7#include 3

#include 0#include 50 using00std;223

#include 0#include 2 using05

#include 0#include 2 using08

#include 0____6 #include 52

#include 0#include 8 #include 55

str1[], 5using16#include 58#include 21

#include 0#include 61

str1[], 5using16bool9#include 21

#include 7namespace0

namespace0

PHP

using28

using29 isSubSequence(using31using32using33using34

using35using36using32using38str1[], 4

#include 6

#include 7#include 8 #include 32using36 using45#include 1 using47

#include 7#include 8 #include 32using38 using45#include 1 using54

Is

#include 0#include 1 isSubSequence(using31using32using33333334

using73using36 using75using38 using77

#include 7#include 1 isSubSequence(using31using32______33333334

using73using36using32using38 using77

namespace0

using31using92namespace7#include 3

using33 using92std;223

using36 using92std;7#include 32using31#include 21

using38 using92std;7#include 32using333#include 21

Is

namespace21bool6#include 77

namespace24bool9#include 3

#include 8#include 32namespace11 namespace30

#include 7namespace32 #include 58#include 3

#include 61

#include 7namespace32 bool9#include 3

namespace40

JavaScript

namespace41

using29 namespace43

#include 6

#include 7#include 8 #include 9

#include 0__21 #include 22

#include 7#include 8 #include 6

#include 0____21 #include 9#include 3

#include 7#include 8 using3

#include 0#include 1 namespace64

using35namespace66

#include 7#include 1 using9

namespace0

namespace71namespace7#include 3

namespace74std;2#include 3

namespace77

namespace78

namespace79

#include 8 #include 55

#include 7namespace83#include 58#include 21

#include 61

#include 7namespace83bool9#include 21

namespace91

Độ phức tạp về thời gian: O (n), đệ quy sẽ gọi nhiều nhất là không gian.O(N), The recursion will call at most N times.
Auxiliary Space: O(N), Function call stack space

Chuỗi thứ nhất là một chuỗi thứ hai bằng hai con trỏ (lặp):

Ý tưởng là sử dụng hai con trỏ, một con trỏ sẽ bắt đầu từ khi bắt đầu Str1 và một con khác sẽ bắt đầu từ khi bắt đầu STR2. Nếu ký tự hiện tại trên cả hai chỉ mục đều giống nhau thì hãy tăng cả hai con trỏ nếu không tăng con trỏ đang trỏ str2.

Thực hiện theo các bước dưới đây để giải quyết vấn đề:

  • Khởi tạo các con trỏ I và J bằng 0, trong đó tôi là con trỏ tới Str1 và J là con trỏ tới STR2. i and j with zero, where i is the pointer to str1 and j is the pointer to str2.
  • Nếu str1 [i] = str2 [j] thì tăng cả I và j bằng 1.1.
  • Nếu không, chỉ tăng J bởi 1.
  • Nếu tôi đạt đến cuối Str1 thì hãy trả về True khác trả về Sai.i reaches the end of str1 then return TRUE else return FALSE.

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

C++

namespace92

using namespace std;

bool namespace97

#include 6

#include 7#include 2 std;01

#include 7#include 2 std;04

#include 7std;06 std;07

#include 0#include 8 std;10

str1[], 5std;12

#include 0std;14

#include 7namespace0

#include 7#include 1 std;19

namespace0

#include 2 namespace2

#include 6

#include 7std;25namespace7#include 3

#include 7std;29std;2#include 3

#include 7#include 8 std;34

#include 0std;36std;37 std;38

#include 7#include 61

#include 0std;36std;43 std;38

#include 7#include 1 isSubSequence(3

namespace0

Java

isSubSequence(5 isSubSequence(6

isSubSequence(5 std;52

isSubSequence(7 std;54

#include 6

char0 char1 std;58

#include 6

#include 7#include 2 std;01

#include 7#include 2 std;04

#include 7std;06 std;07

#include 0#include 8 std;10

str1[], 5std;12

#include 0std;14

#include 7namespace0

#include 7#include 1 std;19

namespace0

namespace0

#include 6

#include 7std;92namespace7#include 3

#include 7std;96std;2#include 3

#include 7#include 8 std;34

#include 0#include 57std;37#include 21

#include 7#include 61

#include 0std;36std;37 std;38

namespace0

namespace0

Python3

#include 0std;36std;43 std;38

#include 7#include 1 isSubSequence(3

Java

isSubSequence(5 isSubSequence(6

isSubSequence(5 std;52

str1[], 5bool41bool42#include 74 #include 11

#include 0bool46bool42#include 74 #include 11

#include 7#include 1 bool41#include 74#include 74 bool55

bool56#include 74 namespace7

bool59#include 74 std;2

#include 8 bool63

#include 7#include 31#include 32std;37str1[], 4

#include 61#include 77

#include 7#include 31#include 32std;43str1[], 4

C#

using #include 43

isSubSequence(7 #include 45

bool80char0 bool bool83#include 50 bool85#include 50 bool87

bool80#include 6

#include 7#include 2 bool92

#include 7#include 2 std;04

#include 7std;06 std;07

bool99#include 8 std;10

#include 0std;12

bool99std;14

#include 7namespace0

#include 7#include 1 std;19

bool80namespace0

bool80#include 30 char0 #include 32 isSubSequence(17#include 50isSubSequence(19

bool80#include 6

#include 7#include 50 isSubSequence(24namespace7#include 3

#include 7#include 50 isSubSequence(29std;223

#include 7#include 8 std;34

bool99isSubSequence(36isSubSequence(37

isSubSequence(38isSubSequence(39

#include 7#include 61

bool99isSubSequence(43

bool99isSubSequence(45isSubSequence(46 isSubSequence(39

bool80namespace0

namespace0

JavaScript

namespace41

using29 isSubSequence(53

#include 6

#include 7isSubSequence(56

#include 7isSubSequence(58

#include 7std;06 std;07

bool99#include 8 std;10

str1[], 5std;12

#include 0std;14

#include 7namespace0

#include 7#include 1 std;19

namespace0

isSubSequence(75namespace7#include 3

isSubSequence(78std;2#include 3

bool80#include 30 char0 #include 32 isSubSequence(17#include 50isSubSequence(19

#include 7#include 50 isSubSequence(24namespace7#include 3

#include 61

#include 7namespace83std;43using34isSubSequence(87#include 21

namespace91

#include 7#include 50 isSubSequence(29std;223

gksrek is subsequence of geekforgeeks

#include 7#include 8 std;34O(N), Traversing over the str2 string of size N. 
Auxiliary Space: O(1) 

bool99isSubSequence(45isSubSequence(46 isSubSequence(39Sachin Gupta. Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above