我有一个正数数组,并且有一些重复。我想找到最小值的最大索引。
例如,如果a=[2, 3, 1, 1, 4, 1, 3, 2, 1, 5, 5]
,则[i, v] = min(a)
返回i=3
,但是我想要i=9
。
使用find和min。
A = [2, 3, 1, 1, 4, 1, 3, 2, 1, 5, 5];
minA = min(A);
maxIndex = max(find(A==minA));
min获取最小值,查找返回满足条件A==minA的值的索引max返回最大值索引。
这里有一个不同的想法,它只需要一个函数,排序:
[~,y] = sort(a,'descend');
i = y(end)
ans =
9
您也可以将imreginalmin
与时间复杂性O(n)
:一起使用
largestMinIndex = find(imregionalmin(A),1,'last');