计算数组中最大值和最小值的差值

算法一

<?php
/**
 * 获取数组中最大值和最小值的差值
 */
function getDiffVal($arr) {
    $max = 0;
    $min = 0;
    foreach($arr as $k=>$v) {
        // 赋初值
        if ($k == 0) {
            $max = $min = $v;
        }
        // 获取最大值
        if ($v > $max) {
            $max = $v;
        }

        // 获取最小值
        if ($v < $min) {
            $min = $v;
        }
    }

    $diff = $max - $min;
    return $diff;
}

$arr = [1,3,6,9,2,4];
echo getDiffVal($arr);

算法二

<?php
/**
 * 获取数组中最大值和最小值的差值
 */
function getDiffVal($arr) {
    sort($arr);
    $len = count($arr);
    $diff = $arr[$len-1] - $arr[0];
    return $diff;
}

$arr = [1,3,6,9,2,4];
echo getDiffVal($arr);

算法是编程的核心,刷题有意思的!!!增加自信!!!

原文地址:https://www.cnblogs.com/jiqing9006/p/12185339.html

时间: 2024-11-11 20:18:08

计算数组中最大值和最小值的差值的相关文章

获取数组中最大值和最小值

var ary = [12,23,23,4,4,12,4,141,4]; 1.利用obj存储 var min = max= null; var obj = {}; for(var i=0;i<ary.length;i++){ var cur = ary[i]; obj[cur]= cur; } var count = 0 ; for(var key in obj){ count++; if(count===1){ min = key; } max = key; } console.log(min

寻找数组中最大值和最小值

题目来源:<编程之美>2.10 题目:同时找出数组中的最大数和最小数 分析:最基本的方法是两次线性扫描数组,分别找出最大数和最小数,时间复杂度为O(n).其实我们可以一次扫描即可.首先,我们将输入元素相互进行比较,然后把较小的与当前最小值比较,把较大的与当前最大值进行比较.这样,对每两个元素共需3次比较. 如何设定已知的最大值和最小值的初始值依赖于n是奇数还是偶数.如果n是奇数,我们就将最大值和最大值的初值都设定为第一个元素的值,然后成对地处理余下的元素.如果n是偶数,就将对前两个元素做一次比

js获取数组中最大值和最小值

var max = Math.max.apply(null, 数组); 获取最大值 var min = Math.min.apply(null, 数组);获取最小值 一句话获取数组中最大的数,最小数 原文地址:https://www.cnblogs.com/renjianjun/p/8918561.html

求数组中最大值,最小值

Array.prototype.max = function(){   //最大值 return Math.max.apply({},this)} Array.prototype.min = function(){   //最小值 return Math.min.apply({},this)} var myMax = [1,2,3].max()// => 3var myMin = [1,2,3].min()// => 1 console.log(myMin,myMax); var _getMi

求一个数组中最大值与最小值

#include <stdio.h> int main() { int array[10]={100,1,40,29,45,22,98,2,83,75}; int max=array[0];//将第一个元素赋值给max int min=array[0];//将第一个元素赋值给min int i; for(i=1;i<10;i++)//通过循环访问剩下的9个数组元素 { if(max<array[i])//将max与剩下的元素比较大小,将比max大的元素赋值给max max=arra

计算数组中最大值返回方式

1.遍历比较function forMax(arr){ var max=arr[0]; for(var i=1;i<arr.length;i++){ arr[i]>max&&(max=arr[i]); } return max;}var rs=forMax(arr=[50,2,40,5]);console.log(rs);//50;2.排序比较function sortMax(arr){ arr.sort(compare); return arr[arr.length-1];}

使用JavaScript&#183;求数组的最大值和最小值

前言  在数组中并没有提供arr.max()和arr.min()这样的方法.那么是不是可以通过别的方式实现类似这样的方法呢?那么今天我们就来整理取出数组中最大值和最小值的一些方法. 法一:其实利用 ECMAScript5的 ...展开运算符可以很简单的解决这个问题 var arr=[2,7,3,10,22,11]; Math.max(...arr); //44 Math.min(...arr); //2  法二 : 对数组进行遍历 对于数组的遍历,有多种不同的方法,下面对各种方法进行比较:Arr

初学Java3:数组-从键盘录入若干学生的成绩,计算平均值,最大值,最小值

//任务:从键盘录入若干学生的成绩,计算平均值,最大值,最小值package com.azhi;//纠正昨天的包名,今天老师说要以反域名命名,昨天还不知道,今天就这么弄了一个import java.util.Scanner;public class Text_Array { public static void main(String[] args){ Scanner sc=new Scanner(System.in);//从键盘输入 System.out.print("请输入学生个数:&quo

【十一】找出一组数组中最大值、最大值的角标、最小值、最小值的角标及平均数

需求:现有一组评委打分的数据. 求出他们的最大值与最小值. 最大值最小值的角标 去除最大值与最小值后的平均数 代码: 1 <?php 2 $arr=array(1,2,3,4); 3 //最小值 4 //思路:44,5,3,333,445,99,54,332,-6 5 // 1.定义变量,一个记录下标$index,一个记录最小值$minvalue 6 // 2.假如最小值为下标为0的数 7 // 3.拿认为最小的值与该数组内的数比较 8 // 4.如果$minvalue大于数组内的某个数,则说明