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!!!
This did not make me sleep. Most difficult so far, took me some few hours lol.
minor point - the specification is poorly worded.
The test input/output is not strings, but rather integer arrays.
e.g.
s1 = [10 20 30 40 50]
rather than "10 20 30 40 50"
I suppose this problem was written before the introduction of strings to Matlab (2016b) and so it may not have been so ambiguous at the time. (although even back then I would have interpreted the word "string" to mean a character array.)
Nice, but misses an edge case, hence not quite correct. It will enter an infinite recursion loop when the two inputs, s1 and s2, are disjoint (i.e. they do not overlap).
Easy to fix with a check that intersect(s1,s2) is not empty.
The solution is not correct.
It hard codes a test case that it cannot pass otherwise.
There are other cases that it cannot solve, although not in the test set.
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.
Find the "ordinary" or Euclidean distance between A and Z
136 Solvers
Rotate input square matrix 90 degrees CCW without rot90
373 Solvers
Detect a number and replace with two NaN's
176 Solvers
2676 Solvers
4962 Solvers
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!