Cody

# Problem 95. Given two strings, find the maximum overlap

Solution 550582

Submitted on 29 Dec 2014 by Sky Sartorius
This solution is locked. To view this solution, you need to provide a solution of the same size or smaller.

### Test Suite

Test Status Code Input and Output
1   Pass
%% s1 = [1 2 3 4 5]; s2 = [5 4 3 2]; s3_correct = [1 2 3 4 5 4 3 2]; assert(isequal(overlap(s1,s2),s3_correct))

t1 = 1 2 3 4 5 t2 = 1 5 4 3 2 t1 = 1 2 3 4 5 2 t2 = 1 2 5 4 3 2 t1 = 1 2 3 4 5 3 2 t2 = 1 2 3 5 4 3 2 t1 = 1 2 3 4 5 4 3 2 t2 = 1 2 3 4 5 4 3 2 s3 = 1 2 3 4 5 4 3 2

2   Pass
%% s1 = [1 0 1 7 7 7 6]; s2 = [1 0 1 0 1]; s3_correct = [1 0 1 0 1 7 7 7 6]; assert(isequal(overlap(s1,s2),s3_correct))

t1 = 1 0 1 7 7 7 6 t2 = 1 1 0 1 0 1 t1 = 1 0 1 7 7 7 6 t2 = 1 0 1 0 1 0 1 t1 = 1 0 1 7 7 7 6 1 t2 = 1 0 1 1 0 1 0 1 t1 = 1 0 1 7 7 7 6 0 1 t2 = 1 0 1 7 1 0 1 0 1 t1 = 1 0 1 7 7 7 6 1 0 1 t2 = 1 0 1 7 7 1 0 1 0 1 t1 = 1 0 1 7 7 7 6 0 1 0 1 t2 = 1 0 1 7 7 7 1 0 1 0 1 t1 = 1 0 1 0 1 7 7 6 t2 = 1 1 0 1 7 7 7 6 t1 = 1 0 1 0 1 7 7 7 6 t2 = 1 0 1 0 1 7 7 7 6 s3 = 1 0 1 0 1 7 7 7 6

3   Pass
%% s1 = [3 1 4 1 5 9 2 6 5 3 5]; s2 = [9 2 6 5]; s3_correct = [3 1 4 1 5 9 2 6 5 3 5]; assert(isequal(overlap(s1,s2),s3_correct))

t1 = 3 1 4 1 5 9 2 6 5 3 5 t2 = 3 9 2 6 5 t1 = 3 1 4 1 5 9 2 6 5 3 5 t2 = 3 1 9 2 6 5 t1 = 3 1 4 1 5 9 2 6 5 3 5 t2 = 3 1 4 9 2 6 5 t1 = 3 1 4 1 5 9 2 6 5 3 5 t2 = 3 1 4 1 9 2 6 5 t1 = 3 1 4 1 5 9 2 6 5 3 5 t2 = 3 1 4 1 5 9 2 6 5 t1 = 3 1 4 1 5 9 2 6 5 3 5 t2 = 3 1 4 1 5 9 9 2 6 5 t1 = 3 1 4 1 5 9 2 6 5 3 5 t2 = 3 1 4 1 5 9 2 9 2 6 5 t1 = 3 1 4 1 5 9 2 6 5 3 5 5 t2 = 3 1 4 1 5 9 2 6 9 2 6 5 t1 = 3 1 4 1 5 9 2 6 5 3 5 6 5 t2 = 3 1 4 1 5 9 2 6 5 9 2 6 5 t1 = 3 1 4 1 5 9 2 6 5 3 5 2 6 5 t2 = 3 1 4 1 5 9 2 6 5 3 9 2 6 5 t1 = 9 2 6 5 1 5 9 2 6 5 3 5 t2 = 9 3 1 4 1 5 9 2 6 5 3 5 t1 = 9 2 6 5 4 1 5 9 2 6 5 3 5 t2 = 9 2 3 1 4 1 5 9 2 6 5 3 5 t1 = 9 2 6 5 1 4 1 5 9 2 6 5 3 5 t2 = 9 2 6 3 1 4 1 5 9 2 6 5 3 5

4   Pass
%% s1 = 1:100; s2 = [50 51]; s3_correct = s1; assert(isequal(overlap(s1,s2),s3_correct))

t1 = Columns 1 through 16 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Columns 17 through 32 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 Columns 33 through 48 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 Columns 49 through 64 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 Columns 65 through 80 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 Columns 81 through 96 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 Columns 97 through 100 97 98 99 100 t2 = 1 50 51 t1 = Columns 1 through 16 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Columns 17 through 32 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 Columns 33 through 48 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 Columns 49 through 64 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 Columns 65 through 80 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 Columns 81 through 96 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 Columns 97 through 100 97 98 99 100 t2 = 1 2 50 51 t1 = Columns 1 through 16 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Columns 17 through 32 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 Columns 33 through 48 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 Columns 49 through 64 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 Columns 65 through 80 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 Columns 81 through 96 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 Columns 97 through 100 97 98 99 100 t2 = 1 2 3 50 51 t1 = Columns 1 through 16 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Columns 17 through 32 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 Columns 33 through 48 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 Columns 49 through 64 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 Columns 65 through 80 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 Columns 81 through 96 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 Columns 97 through 100 97 98 99 100 t2 = 1 2 3 4 50 51 t1 = Columns 1 through 16 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Columns 17 through 32 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 Columns 33 through 48 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 Columns 49 through 64 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 Columns 65 through 80 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 Columns 81 through 96 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 Columns 97 through 100 97 98 99 100 t2 = 1 2 3 4 5 50 51 t1 = Columns 1 through 16 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Columns 17 through 32 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 Columns 33 through 48 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 Columns 49 through 64 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 Columns 65 through 80 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 Columns 81 through 96 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 Columns 97 through 100 97 98 99 100 t2 = 1 2 3 4 5 6 50 51 t1 = Columns 1 through 16 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Columns 17 through 32 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 Columns 33 through 48 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 Columns 49 through 64 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 Columns 65 through 80 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 Columns 81 through 96 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 Columns 97 through 100 97 98 99 100 t2 = 1 2 3 4 5 6 7 50 51 t1 = Columns 1 through 16 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Columns 17 through 32 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 Columns 33 through 48 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 Columns 49 through 64 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 Columns 65 through 80 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 Columns 81 through 96 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 Columns 97 through 100 97 98 99 100 t2 = 1 2 3 4 5 6 7 8 50 51 t1 = Columns 1 through 16 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Columns 17 through 32 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 Columns 33 through 48 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 Columns 49 through 64 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 Columns 65 through 80 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 Columns 81 through 96 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 Columns 97 through 100 97 98 99 100 t2 = 1 2 3 4 5 6 7 8 9 50 51 t1 = Columns 1 through 16 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Columns 17 through 32 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 Columns 33 through 48 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 Columns 49 through 64 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 Columns 65 through 80 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 Columns 81 through 96 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 Columns 97 through 100 97 98 99 100 t2 = 1 2 3 4 5 6 7 8 9 10 50 51 t1 = Columns 1 through 16 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Columns 17 through 32 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 Columns 33 through 48 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 Columns 49 through 64 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 Columns 65 through 80 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 Columns 81 through 96 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 Columns 97 through 100 97 98 99 100 t2 = 1 2 3 4 5 6 7 8 9 10 11 50 51 t1 = Columns 1 through 16 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 Columns 17 through 32 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 Columns 33 through 48 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 Columns 49 through 64 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 Columns 65 through 80 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 Columns 81 through 96 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 Columns 97 through 100 97 98 99 100 t2 = 1 2 3 4 5 6 ...

5   Pass
%% s1 = 90:10:200; s2 = 10:10:120; s3_correct = 10:10:200; assert(isequal(overlap(s1,s2),s3_correct))

t1 = 90 100 110 120 130 140 150 160 170 180 190 200 120 t2 = 90 10 20 30 40 50 60 70 80 90 100 110 120 t1 = 90 100 110 120 130 140 150 160 170 180 190 200 110 120 t2 = 90 100 10 20 30 40 50 60 70 80 90 100 110 120 t1 = 90 100 110 120 130 140 150 160 170 180 190 200 100 110 120 t2 = 90 100 110 10 20 30 40 50 60 70 80 90 100 110 120 t1 = 90 100 110 120 130 140 150 160 170 180 190 200 90 100 110 120 t2 = 90 100 110 120 10 20 30 40 50 60 70 80 90 100 110 120 t1 = Columns 1 through 16 90 100 110 120 130 140 150 160 170 180 190 200 80 90 100 110 Column 17 120 t2 = Columns 1 through 16 90 100 110 120 130 10 20 30 40 50 60 70 80 90 100 110 Column 17 120 t1 = Columns 1 through 16 90 100 110 120 130 140 150 160 170 180 190 200 70 80 90 100 Columns 17 through 18 110 120 t2 = Columns 1 through 16 90 100 110 120 130 140 10 20 30 40 50 60 70 80 90 100 Columns 17 through 18 110 120 t1 = Columns 1 through 16 90 100 110 120 130 140 150 160 170 180 190 200 60 70 80 90 Columns 17 through 19 100 110 120 t2 = Columns 1 through 16 90 100 110 120 130 140 150 10 20 30 40 50 60 70 80 90 Columns 17 through 19 100 110 120 t1 = Columns 1 through 16 90 100 110 120 130 140 150 160 170 180 190 200 50 60 70 80 Columns 17 through 20 90 100 110 120 t2 = Columns 1 through 16 90 100 110 120 130 140 150 160 10 20 30 40 50 60 70 80 Columns 17 through 20 90 100 110 120 t1 = Columns 1 through 16 90 100 110 120 130 140 150 160 170 180 190 200 40 50 60 70 Columns 17 through 21 80 90 100 110 120 t2 = Columns 1 through 16 90 100 110 120 130 140 150 160 170 10 20 30 40 50 60 70 Columns 17 through 21 80 90 100 110 120 t1 = Columns 1 through 16 90 100 110 120 130 140 150 160 170 180 190 200 30 40 50 60 Columns 17 through 22 70 80 90 100 110 120 t2 = Columns 1 through 16 90 100 110 120 130 140 150 160 170 180 10 20 30 40 50 60 Columns 17 through 22 70 80 90 100 110 120 t1 = Columns 1 through 16 90 100 110 120 130 140 150 160 170 180 190 200 20 30 40 50 Columns 17 through 23 60 70 80 90 100 110 120 t2 = Columns 1 through 16 90 100 110 120 130 140 150 160 170 180 190 10 20 30 40 50 Columns 17 through 23 60 70 80 90 100 110 120 t1 = 10 20 30 40 50 60 70 80 90 100 110 120 200 t2 = 10 90 100 110 120 130 140 150 160 170 180 190 200 t1 = 10 20 30 40 50 60 70 80 90 100 110 120 190 200 t2 = 10 20 90 100 110 120 130 140 150 160 170 180 190 200 t1 = 10 20 30 40 50 60 70 80 90 100 110 120 180 190 200 t2 = 10 20 30 90 100 110 120 130 140 150 160 170 180 190 200 t1 = 10 20 30 40 50 60 70 80 90 100 110 120 170 180 190 200 t2 = 10 20 30 40 90 100 110 120 130 140 150 160 170 180 190 200 t1 = Columns 1 through 16 10 20 30 40 50 60 70 80 90 100 110 120 160 170 180 190 Column 17 200 t2 = Columns 1 through 16 10 20 30 40 50 90 100 110 120 130 140 150 160 170 180 190 Column 17 200 t1 = Columns 1 through 16 10 20 30 40 50 60 70 80 90 100 110 120 150 160 170 180 Columns 17 through 18 190 200 t2 = Columns 1 through 16 10 20 30 40 50 60 90 100 110 120 130 140 150 160 170 180 Columns 17 through 18 190 200 t1 = Columns 1 through 16 10 20 30 40 50 60 70 80 90 100 110 120 140 150 160 170 Columns 17 through 19 180 190 200 t2 = Columns 1 through 16 10 20 30 40 50 60 70 90 100 110 120 130 140 150 160 170 Columns 17 through 19 180 190 200 t1 = Columns 1 through 16 10 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160 Columns 17 through 20 170 180 190 200 t2 = Columns 1 through 16 10 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160 Columns 17 through 20 170 180 190 200 s3 = Columns 1 through 16 10 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160 Columns 17 through 20 170 180 190 200