1、暴力法
直接遍历数组,找到min值
var minArray = function(numbers)
{
var min = numbers[0];
for(var item of numbers){
if(item < min)
{
min = item;
}
}
return min;
}
2、冒泡排序
var minArray = function(numbers)
{
for(var i=0;i<numbers.length-1;i++)
{
for(var j=0;j<numbers.length-1-i;j++)
{
if(numbers[j]>numbers[j+1])
{
var tmp = numbers[j];
numbers[j] = numbers[j+1];
numbers[j+1] = tmp;
}
}
}
return numbers[0];
}
3、选择排序
var minArray = function(numbers)
{
//与冒泡排序不同 选择排序是挑选最小的放在前面 也就是说第一趟比完之后 第一个肯定是最小的。
//取numbers[i]与后面的所以数字相比较
for(var i=0;i<numbers.length-1;i++)
{
for(var j=i+1;j<numbers.length;j++)
{
if(numbers[i]>numbers[j])
{
var tmp = numbers[j];
numbers[j] = numbers[i];
numbers[i] = tmp;
}
}
}
return numbers[0];
}
4、找规律
旋转数组中的如果左边的元素大于右边的元素,则右边的元素一定是最小的元素。
var minArray = function(numbers)
{
for(var index=1;index<numbers.length;index++)
{
if(numbers[index-1] > numbers[index])
{
return numbers[index];
}
}
return numbers[0];
}