排序,求最大值最小值

1.假设法,假设第一个值是最大值和最小值

var arr = [12,24,15,23,78,34,21,67,999,-1,0];
var i=1,max=arr[0],min=arr[0] ;
for(i;i<arr.length;i++){
  if(arr[i]>max){
    max=arr[i];
  }
  if(arr[i]<min){
    min=arr[i]
  }
}
console.log(max);
console.log(min);

2.sort,数组的sort的方法,sort的回调函数,返回值是正的就会调换参数顺序,也就是 a-b>0 ,那么参数的a,b在数组中的顺序就会被调换,也就是b,a

arr.sort(function(a,b){
  return a-b
});
console.log(arr)

3.Math.min(a,b,c...),Math.max(a,b,c...),找到参数中的最大值和最小值

Math.min(12,10);
Math.min.apply(null,arr);
console.log(Math.min.apply(null,arr))
时间: 2024-10-06 19:15:41

排序,求最大值最小值的相关文章

Java 数组工具类排序,最大值最小值等

public class ArrayUtils{ /** * 返回数组最大值 * * @param a * @return */ public static int max(int[] a){ // 返回数组最大值 int x; int aa[]=new int[a.length]; System.arraycopy(a,0,aa,0,a.length); x=aa[0]; for(int i=1;i<aa.length;i++){ if(aa[i]>x){ x=aa[i]; } } retu

MapReduce求最大值最小值问题

import java.io.File; import java.io.IOException; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.Path; import org.apache.hadoop.io.Text; import org.apache.hadoop.mapred.JobConf; import org.apache.hadoop.mapreduce.Job; import

数组中简便方法求最大值,最小值,平均值,求和,和个数

//获取数组中的最大值和最小值 @min.self     NSArray *array = @[@4, @84, @2];     NSLog(@"max = %@", [array valueForKeyPath:@"@max.self"]);         //平均值和求和    NSLog(@"%@", [array valueForKeyPath:@"@sum.self"]); //平均值和求平均值    NSLo

Vector求最大值最小值

QVector <double> data {11.0, 44.0, 22.0, 33.0, 10.0,65.0};//表示最大值: auto max = std::max_element(std::begin(data), std::end(data)); //最小值表示: auto min = std::min_element(std::begin(data), std::end(data)); //直接赋值表示 double biggest = *max; double smallest

python 排序 求最大值 第二最大

nums = [6, 11, 7 ,9, 4, 2,1] i = len(nums) - 1 j = 1 while j < i: if nums[j] > nums[j+1]: nums[j], nums[j+1] = nums[j+1], nums[j] j += 1 print(nums) lst = sorted(nums) print(lst) lst = sorted(nums, reverse=True) print(lst) 结果: [6, 7, 9, 4, 2, 1, 11]

双栈队列实现快速获取队列最大值最小值

1 思路: 自己实现一个栈,其中成员为标准库中的栈,一个存放全部的元素,一个存放最小元素,一个存放最大元素. 使用自己实现的栈来实现一个求最大值最小值的队列,其中包含两个成员,一个作为出队的栈,一个作为入队的栈. 2 C++实现代码: #include<iostream> #include<stack> #include<cstdlib> using namespace std; template <typename T> class minmaxStack

求数组元素的最大值最小值

这是编程之美上的一个题目: 一般的做法: void main() { int a[5]={78,63,78,67,18}; int min=0,max=0; min=max=a[0]; for(int i=0;i<5;i++) { if(min>a[i]) min=a[i]; if(max<a[i]) max=a[i]; } printf("%d,%d\n",max,min); } 这种方法总共比较了2*N次 如何降低比较次数呢? 我在这里着重记录一下分冶法的做法:

数组用法----求最大值、最小值和平均数

public class d { /** * @param args */ public static void main(String[] args) { // TODO 自动生成的方法存根 //数组 求最大值.最小值.平均分 int a[]={70,80,90,75,84,88}; int n; int min =100; int max = 1; for(n=0;n<6;n++) { if(max<a[n]) { max=a[n];//循环比较max和a[n]的大小 }else if(m

分治法求数组的最大值最小值

实现求数组的最大值最小值,蛮力法要容易的多.本着重在体验分治法的思想的原则: 1 int main(void) 2 { 3 void Maxmin(int a[],int low,int high,int maxmin[2]); 4 int a[10],maxmin[2]; 5 6 printf("Enter 10 integer numbers:\n"); 7 for(int i=0;i<10;i++) 8 scanf("%d",a+i); 9 10 Max