精华内容
下载资源
问答
  • 用三种方法找出数组中最大值。问题阐述与解决。 实现目标:输入一组数,并找出这组数最大的值。 采用的方法: 双 for循环,列出从小到大(从大到小)顺序。 单 for 循环,一遍循环找出最大值。 使用 Math.max。 ...

    用 prompt 输入字符串创建数组。用三种方法找出数组中最大值。问题阐述与解决。

    实现目标:输入一组数,并找出这组数中最大的值。

    采用的方法:

    1. 双 for循环,列出从小到大(从大到小)顺序。
    2. 单 for 循环,一遍循环找出最大值。
    3. 使用 Math.max。

    来看看代码

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>排序</title>
    </head>
    <body>
    <script>
        var str=prompt("判断一组数据的大小。<br>请输入一组数,用‘-’分隔",);
        var arr=str.split("-");
        document.write("输入的一组数为:"+arr);
    
        //方法一
        for (var i=0;i<arr.length;i++) {
            for (var j=0;j<arr.length;j++){
                if (arr[j]>arr[i]){
                    temp=arr[i];
                    arr[i]=arr[j];
                    arr[j]=temp;
                }
            }
        }
        document.write("<br>从小到大排序:"+arr,"<br>方法一最大值为:"+arr[arr.length-1]);
    
        //方法二
        var temp1=arr[0];
        for (var i=0;i<arr.length;i++) {
            if (temp1 < arr[i]) {
                temp1=arr[i];
            }
            else {
            }
        }
        document.write("<br>方法二最大值为:"+temp1);
        //方法三
    
        var max_arr=Math.max.apply(null,arr);
        //Math.max(param1,param2) 因为参数不支持数组。
        //所以可以根据apply的特点来解决,
        //在调用apply的时候第一个参数给了一个null,这个是因为没有对象去调用这个方法,
        // 我们只需要用这个方法帮我们运算,得到返回的结果就行,所以就直接传递了一个null过去。
        document.write("<br>方法三最大值为:"+max_arr);
    
    </script>
    </body>
    </html>
    

    结果如下:
    在这里插入图片描述

    方法一、二的结果明显不对A !!!

    分析:应该是数组中元素的类型还是String 型,接下来类型转换!将数组中所有元素转换为 Int 型试试。

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>排序</title>
    </head>
    <body>
    <script>
        var str=prompt("判断一组数据的大小。<br>请输入一组数,用‘-’分隔",);//输入
        var arr=str.split("-");//将输入的字符串分隔成数组,实际上每个数组单元仍是字符串类型
        document.write("输入的一组数为:"+arr);
    
        //将数组中所有元素转换为 Int 型
        var arr_int=new Array();
        for (var i = 0; i < arr.length; i++) {
            arr_int[i] =parseInt(arr[i]);
        }
        document.write("<br>输入的一组数转换为 Int 型为:"+arr_int);
    
        //方法一
        for (var i=0;i<arr_int.length;i++) {
            for (var j=0;j<arr_int.length;j++){
                if (arr_int[j]>arr_int[i]){
                    var temp=arr_int[i];
                    arr_int[i]=arr_int[j];
                    arr_int[j]=temp;
                }
            }
        }
        document.write("<br>从小到大排序:"+arr_int,"<br>方法一最大值为:"+arr_int[arr_int.length-1]);
    
        //方法二
        var temp1=arr_int[0];
        for (var i=0;i<arr_int.length;i++) {
            if (temp1 < arr_int[i]) {
                temp1=arr_int[i];
            }
            else {
            }
        }
        document.write("<br>方法二最大值为:"+temp1);
        //方法三
    
        var max_arr=Math.max.apply(null,arr);
        //Math.max(param1,param2) 因为参数不支持数组。
        //所以可以根据apply的特点来解决,
        //在调用apply的时候第一个参数给了一个null,这个是因为没有对象去调用这个方法,
        // 我们只需要用这个方法帮我们运算,得到返回的结果就行,所以就直接传递了一个null过去。
        document.write("<br>方法三最大值为:"+max_arr);
    
    </script>
    </body>
    </html>
    

    转换类型之后,结果如下:
    转换完之后结果正确

    转换完之后结果正确。
    转换为浮点型也是一样的,转换为浮点型更符合题意。只需将parseInt改为 parseFloat就 ok 了~~

    展开全文
  • JS找出数组中最大值

    千次阅读 2019-01-28 11:35:48
    1.es6拓展运算符 ...4.数组sort() arr.sort((num1, num2) => { return num1 - num2 > 0 }) arr[0] 5.数组reduce arr.reduce((num1, num2) => { return num1 > num2 ? num1 : num2 })

    1.es6拓展运算符

    Math.max(...arr)
    

    2.es5 apply(与方法1原理相同)

    Math.max.apply(null,arr)
    

    3.for循环

    let max = arr[0];
    for (let i = 0; i < arr.length - 1; i++) {
        max = max < arr[i+1] ? arr[i+1] : max
    }
    

    4.数组sort()

    arr.sort((num1, num2) => {
        return num1 - num2 > 0
    })
    arr[0]
    

    5.数组reduce

    arr.reduce((num1, num2) => {
        return num1 > num2 ? num1 : num2
    })
    
    展开全文
  • 题目和我所编辑的代码如上,题设已给出部分代码,而我们要做的仅仅是找到最大值和...接受一个非字符串数组要知道它的首元素地址和长度,故题目也这样做了,接下来通过数组的遍历找出最大最小值保存下来即可! ...

    在这里插入图片描述题目和我所编辑的代码如上,题设中已给出部分代码,而我们要做的仅仅是找到最大值和最小值的下标并告知主函数。
    如果不用指针的话,一个函数在一次使用中只能有一个返回值,如果你要同时找到最大最小值且只用一个函数,就得用指针了!
    看到题目中函数中接收值有intmax,intmin,故用来接受int变量的地址,我们把&max,&min发送过去就可以在函数中修改max和min了。
    接受一个非字符串数组要知道它的首元素地址和长度,故题目也这样做了,接下来通过数组的遍历找出最大最小值保存下来即可!

    展开全文
  • 有一个数组内有10个整数,要求找出数组中最大值以及最小值,并找出他们各自的下标,并让最小数跟数组的第一个数字交换位置。 知识点:循环结构 分析: 1、通过循环语句依次比较数组的数字大小来找出数组中想要的...

    有一个数组内有10个整数,要求找出数组中最大值以及最小值,并找出他们各自的下标,并让最小数跟数组中的第一个数字交换位置。

    知识点:循环结构
    分析:
    1、通过循环语句依次比较数组中的数字大小来找出数组中想要的数字
    2、找出数字时,记录当时数字的下标
    在这里插入图片描述

    3、找出下标后,通过正常的交换语句把最小的数字跟数组的第一个语句进行交换
    在这里插入图片描述
    完整代码演示:
    在这里插入图片描述

    运行结果:
    在这里插入图片描述

    展开全文
  • 对于简单数组,我们直接使用indexOf最为简洁美观。 var a = [1,2,3,4,5,6,7,7,6,5,4,3,2,1]; // for循环 var indexOfMax = 0; var tempMax = a[0]; for(let i = 0; i < a.length; i ++){ if(a[i] > ...
  • var arr=[1,2,3,45,66] var num =Math.max(arr.join...为什么用了arr.join(',')后,弹的num就是Nan呢? 方法一: var arr = [1,2,3,45,66] var num = Math.max.apply( null, arr ); console.log( num ); apply的...
  • 1. 两次循环查找 ...//找到最大的元素和次大的元素 void find(int a[],int b[]) { int max1=a[0]; int max2=-1000,t; for(int i=0;i<6;i++) { if(a[i]>max1) { max2=max1; max1=a[i]; ...
  • c++实现的找出数组最大值的程序,有输入数组函数,显示数组函数。和找出数组最大值的函数
  • 找出数组中最大值

    千次阅读 2019-10-05 04:12:59
    /* * 找出数组中最大值 */public class TestArrayMax { public static void main(String[] args) { // 定义一个数组 int[] a = { 1, 9, 5, 4, 3, 0, 2 }; // 定义一个int类型的变量的数组并赋值0; int max = a...
  • js找出数组中最大值

    千次阅读 2019-08-28 10:03:57
    首先对数组进行排序(从大到小),第一项为最大值 arr.sort((num1, num2) => { return num1 - num2 }) arr[0] 5.数组reduce arr.reduce((num1, num2) => { return num1 > num2 ? num1 : num2} ) ...
  • java设计一个方法,找出数组中最大值和最小值 package foundmasandmin; //设计一个方法,找出数组中最大值和最小值 public class FoundMaxAndMin { protected void FoundMaxAndMin(int[] Array){ int max=...
  • 不要进行排序, 直接找出一个数组中最大值和最小值, (百度的时候还会出现, 次大值的情况) 面试的时候被问到, 直接找数组中最大值和最小值, 一时居然想不起来咋搞, 就比较尴尬, 特此记录一下, 答 : 使用快速排序 ...
  • 找出数组中最大值和次大值

    千次阅读 2015-07-18 14:12:15
    如何找出一个数组中的最大值和次大值,并且找出它们的位置。 思路: 假设只有四个数字,分成两组,前两个比较一次得出最大和次大,后两个比较一次得出最大和次大,则四个数字的最大值就是两个较大值中最大值。而次...
  • 找数组中最大值最大值下标

    千次阅读 2018-12-06 19:58:18
    数组中找出其中最大的数及其下标。 int a[]={18,25,7,36,13,2,89,63}; int max=a[0]; for(int t=1;t&lt;a.length;t++) { if(max&lt;a[t]) { max=a[t]; } } for(i...
  • 大意:给定一个数组arr[],找出长度为d的连续子数组最大值最小值差值最大值 思路:单调队列实现sliding window,得到每个长度为d的连续数组最大值和最小值。 因为每个元素均进出一次单调队列,因此...
  • 找出数组元素的最大值

    千次阅读 2015-07-08 19:37:37
    找出数组元素的最大值NSArray *array = [datas sortedArrayUsingComparator:^NSComparisonResult(id obj1, id obj2) { if ([obj1 integerValue] > [obj2 integerValue]) { return (NSComparisonResult)...
  • 找出数组中最大值方法总结

    万次阅读 2017-06-25 23:11:13
    //找到数组 [-1, -2, 1, 10, 4, 5, 8] 最大值,至少写两种方法?  /*方法1*/ var arr=[-1, -2, 1, 10, 4, 5, 8]; var max=arr[0]; var temp; for(var i=0;i if(max var temp; temp=max; max=arr[i];...
  • java求数组中最大值最小值

    万次阅读 多人点赞 2017-07-18 22:22:11
    遍历数组元素,比较数组元素的值和默认的最大值,如果数组元素的值比默认最大值还要大,则用数组元素的值作为默认的最大值,这样遍历一遍之后就可以求出最大值了.求最小值也是同样. 这里有两种方式来求记录最大最小值: ...
  • 找出数组中最大(小)找出数组中最大最小值,可以像下面这样使用
  • 一组数组中最大值次大值最小值次小值c程序,用于波形处理等场合
  • <?php $arr = [11,18,21,141,811]; $max = $arr[0]; $max_key = 0; foreach( $arr as $key => $value) { if($value > $max) { ...//哪个最大就赋值给$max $max_key = $ke...
  • //给定一个数组,找出数组中最大值和次最大值。要求在一个for循环里实现#include "stdafx.h" #include using namespace std; void select_max(const int*a, int size, int&nMax, int& nSecondMax) { nMax = a[0]; ...
  • 本文通过三种解决方案给大家介绍js取二维数组中最大值的方法。介绍的非常详细,具有参考价值
  • numpy找出数组最大值

    千次阅读 2020-09-27 14:05:47
    def getPositon(data, genre): a = np.mat(data) ... positon = np.argmax(a) # 最大值的下标 else: positon = np.argmin(a) # 最小值的下标 m, n = divmod(positon, column) # 出行和列 return a[m, n] ...
  • 找出局部有序数组最大值

    千次阅读 2016-04-24 21:50:03
    题目:将一个有序数组arr[n]的前面一段arr[0…..k]移动到数组的末尾,找出数组最大值。比如:int[] arr1 = {1, 5, 10, 20, 25, 30, 35, 50, 60, 70, 80, 100, 120, 150, 200}; int[] arr2 = {5, 10, 20, 25, 30,...
  • 查找_找出数组中最大的两个数

    千次阅读 2019-11-20 17:19:33
    题目是这样的:"给定一个...针对本例的找出最大的两个数时,我一开始的想法就是两次for循环,一次循环找出数组中最大值,下一次循环找出数组中的次大值;叭叭叭就上代码 int* find(int arr[], int length) { ...
  • 找出数组最大值

    千次阅读 2017-11-19 13:11:21
    i++)//每次循环最大值被选出,故可以省略一次循环:len-1-k { if (arr1[i] > arr1[i + 1]) { int t = arr1[i]; arr1[i] = arr1[i + 1]; arr1[i + 1] = t; } } k++; } for (int x=0;x;x+...
  • 主要介绍了JAVA得到数组中最大值和最小值的简单实例,需要的朋友可以参考下

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 237,148
精华内容 94,859
关键字:

找出数组中的最大值