Cody

# Problem 1991. Find the index of nth maximum of a row vector of real numbers

Solution 373087

Submitted on 20 Dec 2013 by Marco Castelli
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 = [2 4.5 3 1 3.33]; n = 4; y_correct = 1; assert(isequal(findMaxIndex(x,n),y_correct))

x = 2.0000 -Inf 3.0000 1.0000 3.3300 x = 2 -Inf 3 1 -Inf x = 2 -Inf -Inf 1 -Inf

2   Pass
%% x = [2 4.5 3 1 3.33]; n = 5; y_correct = 4; assert(isequal(findMaxIndex(x,n),y_correct))

x = 2.0000 -Inf 3.0000 1.0000 3.3300 x = 2 -Inf 3 1 -Inf x = 2 -Inf -Inf 1 -Inf x = -Inf -Inf -Inf 1 -Inf

3   Pass
%% x = [2 4.5 3 1 3.33 eps inf 0.01]; n = 1; y_correct = 7; assert(isequal(findMaxIndex(x,n),y_correct))

4   Pass
%% x = [2 4.5 3 1 3.33 eps inf 0.01]; n = 8; y_correct = 6; assert(isequal(findMaxIndex(x,n),y_correct))

x = 2.0000 4.5000 3.0000 1.0000 3.3300 0.0000 -Inf 0.0100 x = 2.0000 -Inf 3.0000 1.0000 3.3300 0.0000 -Inf 0.0100 x = 2.0000 -Inf 3.0000 1.0000 -Inf 0.0000 -Inf 0.0100 x = 2.0000 -Inf -Inf 1.0000 -Inf 0.0000 -Inf 0.0100 x = -Inf -Inf -Inf 1.0000 -Inf 0.0000 -Inf 0.0100 x = -Inf -Inf -Inf -Inf -Inf 0.0000 -Inf 0.0100 x = 1.0e-15 * -Inf -Inf -Inf -Inf -Inf 0.2220 -Inf -Inf

5   Pass
%% x = [2 4.5 3 1 3.33 eps inf 0.01 realmax realmin]; n = 2; y_correct = 9; assert(isequal(findMaxIndex(x,n),y_correct))

x = 1.0e+308 * 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 -Inf 0.0000 1.7977 0.0000

6   Pass
%% x = [-2.23 1 0 -6.65 2.63 -realmax inf 0]; n = 8 y_correct = 6; assert(isequal(findMaxIndex(x,n),y_correct))

n = 8

7   Pass
%% x = [2 4.5 3.33 3 1 3.33]; n = 2; y_correct = [3 6]; assert(isequal(findMaxIndex(x,n),y_correct))

x = 2.0000 -Inf 3.3300 3.0000 1.0000 3.3300

8   Pass
%% x = [2 4.5 pi eps eps pi 0 pi 6]; n = 3; y_correct = [3 6 8]; assert(isequal(findMaxIndex(x,n),y_correct))

x = 2.0000 4.5000 3.1416 0.0000 0.0000 3.1416 0 3.1416 -Inf x = 2.0000 -Inf 3.1416 0.0000 0.0000 3.1416 0 3.1416 -Inf