我正在阅读可汗学院的算法课程。我在https://www.khanacademy.org/computing/computer-science/algorithms/sorting-algorithms/p/challenge-find-minimum-in-subarray
代码挑战应该循环遍历数组find并返回子数组中的最小数字。我编写了我认为应该有效的代码,但是我在标题中收到了错误。为什么呢?
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;
var i = minIndex + 1;
for( i ; array.length ; i+1) {
if( array[i]< minValue) {
minIndex = i ;
minValue = array[i];
}
}
// 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);
答案 0 :(得分:4)
你的for循环的第二部分需要是实际测试某些东西的东西。现在它是一个无限循环,因为它的东西总是如此
这应该解决它:
for( i ; i < array.length ; i++) {
if( array[i]< minValue) {
minIndex = i ;
minValue = array[i];
}
}