Cody

# Problem 73. Replace NaNs with the number that appears to its left in the row.

Solution 1227115

Submitted on 8 Jul 2017 by Salvatore Lacava
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
x = [NaN 1 2 NaN 17 3 -4 NaN]; y_correct = [0 1 2 2 17 3 -4 -4]; assert(isequal(replace_nans(x),y_correct))

ypos = 1×9 logical array 0 1 0 0 1 0 0 0 1 firstNan = 2 y = 0 0 1 2 NaN 17 3 -4 NaN ypos = 1×9 logical array 0 0 0 0 1 0 0 0 1 firstNan = 5 y = 0 0 1 2 2 17 3 -4 NaN ypos = 1×9 logical array 0 0 0 0 0 0 0 0 1 firstNan = 9 y = 0 0 1 2 2 17 3 -4 -4

2   Pass
x = [NaN 1 2 NaN NaN 17 3 -4 NaN]; y_correct = [ 0 1 2 2 2 17 3 -4 -4]; assert(isequal(replace_nans(x),y_correct))

ypos = 1×10 logical array 0 1 0 0 1 1 0 0 0 1 firstNan = 2 y = 0 0 1 2 NaN NaN 17 3 -4 NaN ypos = 1×10 logical array 0 0 0 0 1 1 0 0 0 1 firstNan = 5 y = 0 0 1 2 2 NaN 17 3 -4 NaN ypos = 1×10 logical array 0 0 0 0 0 1 0 0 0 1 firstNan = 6 y = 0 0 1 2 2 2 17 3 -4 NaN ypos = 1×10 logical array 0 0 0 0 0 0 0 0 0 1 firstNan = 10 y = 0 0 1 2 2 2 17 3 -4 -4

3   Pass
x = [NaN NaN NaN NaN]; y_correct = [ 0 0 0 0]; assert(isequal(replace_nans(x),y_correct))

ypos = 1×5 logical array 0 1 1 1 1 firstNan = 2 y = 0 0 NaN NaN NaN ypos = 1×5 logical array 0 0 1 1 1 firstNan = 3 y = 0 0 0 NaN NaN ypos = 1×5 logical array 0 0 0 1 1 firstNan = 4 y = 0 0 0 0 NaN ypos = 1×5 logical array 0 0 0 0 1 firstNan = 5 y = 0 0 0 0 0

4   Pass
x = [1:10 NaN]; y_correct = [ 1:10 10]; assert(isequal(replace_nans(x),y_correct))

ypos = 1×12 logical array 0 0 0 0 0 0 0 0 0 0 0 1 firstNan = 12 y = 0 1 2 3 4 5 6 7 8 9 10 10

### Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!