查找数组中的最大值(最小值)及相对应的下标

Posted jny1990

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了查找数组中的最大值(最小值)及相对应的下标相关的知识,希望对你有一定的参考价值。

简单的封装一个方法

假设数组 arr 中的最大值max或最小值min 为arr[0], 通过max或min与数组 arr 的值进行比较 ,得到想要的结果

(1)获取数组最大值(最小值)

 //获取最大值
1
function getMax(arr) 2 //假设最大值max 为arr[0] 3 var max = arr[0]; 4 //遍历对比 5 for (var i = 0; i < arr.length; i++) 6 //若max小于当前项 说明不是最大值 将当前项的值赋予max 7 // 继续遍历对比找到最大的值 8 if (max < arr[i]) 9 max = arr[i]; 10 11 12 return max; 13
 //获取最小值
1
function getMin(arr) 2 var min = arr[0]; 3 for (var i = 0; i < arr.length; i++) 4 if (min > arr[i]) 5 min = arr[i]; 6 7 8 9 return min; 10

 

(2)获取数组最大值(最小值)的下标

 //获取最大值的下标
1
function getMaxIndex(arr) 2 var max = arr[0]; 3 //声明了个变量 保存下标值 4 var index = 0; 5 for (var i = 0; i < arr.length; i++) 6 if (max < arr[i]) 7 max = arr[i]; 8 index = i; 9 10 11 return index; 12
//获取最小值的下标
1
function getMinIndex(arr) 2 var min = arr[0]; 3 //声明了个变量 保存下标值 4 var index = 0; 5 for (var i = 0; i < arr.length; i++) 6 if (min > arr[i]) 7 min = arr[i]; 8 index = i; 9 10 11 return index; 12
注:获取数组最大值(最小值)的下标时,当数组中最大值(最小值)有重复项时,返回的index值为数组中第一个最大值(最小值)的下标

举个栗子:
1 var arr = [66,3,66,66,3];
2 //打印结果
3 console.log(getMax(arr));       //  66
4 console.log(getMaxIndex(arr));  //  0
5 console.log(getMin(arr));       //  3 
6 console.log(getMinIndex(arr));  //  1

 




以上是关于查找数组中的最大值(最小值)及相对应的下标的主要内容,如果未能解决你的问题,请参考以下文章

C语言中怎样用指针找出一维数组中的最大值和最小值并输出它们的下标

二分查找-变种

java数组算法例题(冒泡排序,选择排序,找最大值最小值,添加删除元素等)

java数组算法例题(冒泡排序,选择排序,找最大值最小值,添加删除元素等)

在数组中查找最大和最小数

漫画算法22计数排序的优化