Cody

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

Solution 1640605

Submitted on 9 Oct 2018 by Yoshinobu Kawada
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))

n = 1 2 3 4 5 6 7 8 ind = 1 4 8 left = 0 value = 0 y = 0 1 2 NaN 17 3 -4 NaN left = 3 value = 2 y = 0 1 2 2 17 3 -4 NaN left = 7 value = -4 y = 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))

n = 1 2 3 4 5 6 7 8 9 ind = 1 4 5 9 left = 0 value = 0 y = 0 1 2 NaN NaN 17 3 -4 NaN left = 3 value = 2 y = 0 1 2 2 NaN 17 3 -4 NaN left = 4 value = 2 y = 0 1 2 2 2 17 3 -4 NaN left = 8 value = -4 y = 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))

n = 1 2 3 4 ind = 1 2 3 4 left = 0 value = 0 y = 0 NaN NaN NaN left = 1 value = 0 y = 0 0 NaN NaN left = 2 value = 0 y = 0 0 0 NaN left = 3 value = 0 y = 0 0 0 0

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

n = 1 2 3 4 5 6 7 8 9 10 11 ind = 11 left = 10 value = 10 y = 1 2 3 4 5 6 7 8 9 10 10

Suggested Problems

More from this Author95

Community Treasure Hunt

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

Start Hunting!