Cody

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

Solution 1883300

Submitted on 24 Jul 2019 by Reem El Abd
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))

x = 0 NaN 1 2 NaN 17 3 -4 NaN NaNList = 1×9 logical array 0 1 0 0 1 0 0 0 1 NaNPos = 2 x = 0 0 1 2 NaN 17 3 -4 NaN NaNList = 1×9 logical array 0 0 0 0 1 0 0 0 1 NaNPos = 5 x = 0 0 1 2 2 17 3 -4 NaN NaNList = 1×9 logical array 0 0 0 0 0 0 0 0 1 NaNPos = 9 x = 0 0 1 2 2 17 3 -4 -4 x = 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))

x = 0 NaN 1 2 NaN NaN 17 3 -4 NaN NaNList = 1×10 logical array 0 1 0 0 1 1 0 0 0 1 NaNPos = 2 x = 0 0 1 2 NaN NaN 17 3 -4 NaN NaNList = 1×10 logical array 0 0 0 0 1 1 0 0 0 1 NaNPos = 5 x = 0 0 1 2 2 NaN 17 3 -4 NaN NaNList = 1×10 logical array 0 0 0 0 0 1 0 0 0 1 NaNPos = 6 x = 0 0 1 2 2 2 17 3 -4 NaN NaNList = 1×10 logical array 0 0 0 0 0 0 0 0 0 1 NaNPos = 10 x = 0 0 1 2 2 2 17 3 -4 -4 x = 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))

x = 0 NaN NaN NaN NaN NaNList = 1×5 logical array 0 1 1 1 1 NaNPos = 2 x = 0 0 NaN NaN NaN NaNList = 1×5 logical array 0 0 1 1 1 NaNPos = 3 x = 0 0 0 NaN NaN NaNList = 1×5 logical array 0 0 0 1 1 NaNPos = 4 x = 0 0 0 0 NaN NaNList = 1×5 logical array 0 0 0 0 1 NaNPos = 5 x = 0 0 0 0 0 x = 0 0 0 0

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

x = 0 1 2 3 4 5 6 7 8 9 10 NaN NaNList = 1×12 logical array 0 0 0 0 0 0 0 0 0 0 0 1 NaNPos = 12 x = 0 1 2 3 4 5 6 7 8 9 10 10 x = 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!