Cody

Problem 2953. Split array into pieces according to corresponding array

Solution 1463114

Submitted on 14 Mar 2018
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   Fail
x=[ 1 1 1 2 2 3 3 3 3]; y=[10 52 12 58 21 43 89 27 98]; c={[10 52 12],[58 21],[43 89 27 98]}; assert(isequal(split_array(x,y),c))

c = 1×1 cell array {[10]} c = 1×1 cell array {1×2 double} c = 1×1 cell array {1×3 double} c = 1×2 cell array {1×3 double} {1×4 double} c = 1×2 cell array {1×3 double} {1×5 double} c = 1×3 cell array {1×3 double} {1×5 double} {1×6 double} c = 1×3 cell array {1×3 double} {1×5 double} {1×7 double} c = 1×3 cell array {1×3 double} {1×5 double} {1×8 double} c = 1×3 cell array {1×3 double} {1×5 double} {1×9 double}

Assertion failed.

2   Fail
x=1:5; c=num2cell(1:5); assert(isequal(split_array(x,x),c));

c = 1×1 cell array {[1]} c = 1×2 cell array {[1]} {1×2 double} c = 1×3 cell array {[1]} {1×2 double} {1×3 double} c = 1×4 cell array {[1]} {1×2 double} {1×3 double} {1×4 double} c = 1×5 cell array {[1]} {1×2 double} {1×3 double} {1×4 double} {1×5 double}

Assertion failed.

3   Fail
x=[1 1 1 1 1 2 3 3 3 3 3]; y='Hello world'; c={'Hello' ' ' 'world'} assert(isequal(split_array(x,y),c));

c = 1×3 cell array {'Hello'} {' '} {'world'} c = 1×1 cell array {'H'} c = 1×1 cell array {'He'} c = 1×1 cell array {'Hel'} c = 1×1 cell array {'Hell'} c = 1×1 cell array {'Hello'} c = 1×2 cell array {'Hello'} {' '} c = 1×3 cell array {'Hello'} {' '} {' w'} c = 1×3 cell array {'Hello'} {' '} {' wo'} c = 1×3 cell array {'Hello'} {' '} {' wor'} c = 1×3 cell array {'Hello'} {' '} {' worl'} c = 1×3 cell array {'Hello'} {' '} {' world'}

Assertion failed.