Cody

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

Solution 1175276

Submitted on 29 Apr 2017
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))

idx = 1 idx = 1

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

idx = 4 idx = 4

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))

idx = 7 idx = 7

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))

idx = 6 idx = 6

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))

idx = 9 idx = 9

6   Fail
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 idx = 2 idx = 2 3 idx = 2 3 5 idx = 2 3 5 7 idx = 2 3 5 7 8 idx = 2 3 5 7 8

Assertion failed.

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))

idx = 3 idx = 3 6 idx = 3 6

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))

idx = 3 idx = 3 6 idx = 3 6 8 idx = 3 6 8

Suggested Problems

More from this Author3

Community Treasure Hunt

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

Start Hunting!