【发布时间】:2016-11-24 11:48:53
【问题描述】:
这个卡恩学院问题要求从第二个索引开始找到子数组中的最小值,我的算法返回 4,但它没有提示我说我是正确的。
我想知道我的代码在哪里存在缺陷或可能会更好。谢谢:)
//////////////////////////////////////////
var indexOfMinimum = function(array, startIndex) {
// Set initial values for minValue and minIndex,
// based on the leftmost entry in the subarray:
var minValue = array[startIndex];
var minIndex = startIndex;
for ( var i = minIndex + 1; i < array.length; i++){
//iterate through array
if (array[i] < minValue) {
minValue = array[i];
minIndex = array[minValue];
minIndex = array.indexOf(minValue);
}
}
// Loop over items starting with startIndex, updating minValue and minIndex as needed:
return minIndex;
};
var array = [18, 6, 66, 44, 9, 22, 14];
var index = indexOfMinimum(array, 2);
【问题讨论】:
-
你用
minIndex在那里做什么?看来它应该是循环内的minIndex = i;。
标签: javascript algorithm sorting computer-science sub-array