Given two strings s1 and s2, create a new string s3 which is as short as possible and contains both strings.
If
s1 = [1 2 3 4 5]
and
s2 = [5 4 3 2]
then
s3 = [1 2 3 4 5 4 3 2]
There is guaranteed to be one best solution.
This would be improved by a richer test set to avoid solutions based on simple lookup of the test cases.
I think we can assume the entries are all positive integers, but it would be good if that was stated in the problem specification.
Definetely agree. Adding more tests in the test suite and rescoring the solutions will elmiminate solution under a score of 92
My 33 is a terrible solution. Please add more test cases.
Tim's 80 is very good and my 83 is also valid. Addition of a common random value at an end overlap will eliminate chicanery. v=randi(100) [1 2 3 v] [v 4 5].
Created legitimate size 72.
Added a few more tests. Thanks for the comments!
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]; maybe is not correct ;-)
Problems 1 and 2 have alternate solutions:
1) [5 4 3 1 2 3 4 5]
2) [1 0 1 7 7 7 6 0 1]
Did I just solved this myself? Toughest for me so far. Thanks!!!
can't understand
hello, have you ever tried s1 = [ 1 2 3 ], s2= [1 2]?
Nice :) I was trying to think of clever ways to use convolution, but didn't manage. This should be the leading solution instead of the lookup based on the test cases..
well commneted
Come on. Put in a general solution rather than gaming the solution set.
395 Solvers
116 Solvers
Vectorizing, too easy or too hard?
113 Solvers
Permute diagonal and antidiagonal
179 Solvers
Area of an equilateral triangle
1702 Solvers