`

求一组数中第二大的元素,要求从效率上考虑。

 
阅读更多

求一组数中第二大的元素,要求从效率上考虑。

 

var intArr:Array = [-1,3,9,11,20,-1,99,98,33,15,12];

 

function getSecMaxIndex(arr:Array):int{
    var resultIndex:int = -1;
    if(arr && arr.length >1) {
        var n:int = arr.length;
        var maxIndex:int = 0;
        
        for(var i:int=1;i<n;i++) {
            if(arr[i] > arr[maxIndex]) {
                resultIndex = maxIndex;
                maxIndex = i;
            }
        } 
    }
    else {
        resultIndex = -1;
    }
    return resultIndex;
}
分享到:
评论
2 楼 chaimzane 2009-09-08  
额~~~,对的
应该在 for在加一句
resultIndex = 0;
1 楼 xiaokira 2009-09-04  
这个地方貌似有点小BUG  如果数组的第一个数为最大的数是不是会出问题呢

相关推荐

    算法实习:分治算法求n个数的数组中找出第二个最大元素

    本文将探讨如何使用分治策略来解决一个特定的问题——在一个包含n个整数的数组中找到第二大的元素。 #### 分治算法原理 分治(Divide and Conquer)是一种重要的算法设计策略,它通过递归地将一个问题分解成两个或...

    从键盘输入一组整数,通过分治算法求第二大的数

    本篇内容旨在通过一个具体的实例——从键盘输入一组整数,并利用分治算法找出这组整数中的第二大数——来深入理解分治算法的设计思路及其应用方法。 #### 分治算法原理 分治算法通常包括三个步骤: 1. **分解**:...

    设计一个函数返回传入的列表中最大和第二大的元素的值。

    在Python编程语言中,设计一个函数来返回列表中最大和第二大的元素是一项常见的任务,尤其在数据处理和算法实现中。这个功能可以帮助我们快速找出一组数值中的主要趋势或者最高两个值,无需对整个列表进行排序。下面...

    求一组数组的两个最大值和两个最小值 分治法

    通过上述步骤,我们可以有效地使用分治法来求解数组中的两个最大值和两个最小值。这种方法不仅简洁高效,而且避免了蛮力法可能带来的大量重复计算。此外,这种分治的思想还可以应用于其他许多类似的排序和查找问题中...

    数据结构(JAVA)求一个含有n个整数元素的数组a0..n-1中的最大元素

    然后,通过一个for循环从数组的第二个元素开始遍历,如果当前元素大于已知的最大值,就更新最大值。当遍历完整个数组后,返回找到的最大值。 这种方法虽然简单,但效率并不高,因为它的时间复杂度是O(n),其中n是...

    分治算法求最大值与最小值,找最小元素

    在本题中,我们关注的是如何运用分治算法来找到一组数字中的最大值和最小值,以及如何找出第k个最小元素。这两个问题都可以通过分治思想进行有效解决。 首先,寻找最大值和最小值。传统的做法是遍历整个数组,但...

    java求数组第二大元素示例

    这两个方法都能有效地找出数组中的第二大元素,但在实际应用中,可能会根据性能和代码可读性的需求选择其中一种。`getSecondMaxElem`方法使用了更直观的交换操作,而`getSecondMaxElem2`方法避免了这种操作,但可能...

    算法中最小K元素的选择问题

    在计算机科学中,"算法中最小K元素的选择问题"是一个重要的数据结构和算法主题,它涉及到从一个无序或有序的数组中找到第K小(或大)的元素。这个问题在各种应用场景中都有广泛的应用,比如数据库查询优化、排序算法...

    二维数组求最大数

    ### 二维数组求最大数知识点解析 #### 一、题目背景与目标 本实验的目标是在一个二维数组中找出最大数及其所在的行和列位置。这是一个经典的编程问题,旨在帮助学习者掌握二维数组的基本操作以及如何在数组中进行...

    查找第二大和第二小的数值,并查找数组中重复次数最高的数

    在C++编程中,查找数组中的第二大和第二小的数值以及重复次数最高的数是一项常见的算法问题,这涉及到数组处理和排序。以下将详细介绍如何通过C++来实现这一功能。 首先,我们要解决的是找到数组中的第二大和第二小...

    寻找第k小元素(vc)

    在这个问题中,我们要在数组中找到第k个最小的元素,同时考虑到数组中可能存在重复的元素。这个问题在实际应用中广泛出现,比如数据库查询优化、数据分析以及在线竞赛编程等场景。 在Visual C++环境下实现寻找第k小...

    POJ2092:计数排序,求第K大的元素

    【标题】"POJ2092:计数排序,求第K大的元素"是一个编程题目,主要涉及计数排序算法以及如何在数组中找出第K大的元素。计数排序是一种非基于比较的排序算法,它适用于整数排序,尤其在数据范围不大的情况下效率极高。...

    算法导论(part1)

    本书是原书的第2版,在第1版的基础之上增加了一些新的内容,涉及算法的作用、概率分析和随机化算法、线性规划,以及对第1版中详尽的、几乎涉及到每一小节的修订。这些修订看似细微,实际上非常重要。书中引入了...

    在一堆数中取得前K个最大最小的数的方法

    在计算机科学领域,特别是数据处理和分析方面,“找到一组数中的前K个最大或最小的数”是一个常见而又重要的问题。这类问题不仅在日常开发工作中频繁出现,也是IT类考试的重点考察内容之一。本文旨在介绍几种解决这...

    C++求二维数组中的最大值和最小值的方法

    二维数组可以看作是一组一维数组的集合,其中每个一维数组都称为行。因此,我们可以用两个索引(一个代表行,另一个代表列)来访问数组的每个元素。 下面的C++代码片段展示了如何遍历二维数组并找出最大值和最小值...

    向数组中插入元素

    2. 访问元素:通过索引访问,索引从0开始,如`arr[0]`获取第一个元素。 3. 遍历:使用for循环遍历数组,如`for(int i = 0; i (arr)/sizeof(arr[0]); i++)`。 三、插入元素的策略 在C++中,数组的大小是固定的,所以...

    LabVIEW 删除数组中重复元素实例

    对于大数组,使用函数如“Find Array Indexes.vi”可以提高效率,它返回数组中特定值的所有索引,帮助快速定位重复元素。 2. **删除重复元素**:找到重复元素后,可以创建一个新的数组,只包含未重复的元素。有两种...

    java-leetcode题解之第215题数组中的第K个最大元素.zip

    给定一个非空整数数组,找到数组中第K个最大的元素。这里的“最大”指的是数值上的最大,而不是字典序的最大。注意,K始终是有效的,即1 ≤ K ≤ 数组的长度。 知识点1:数组操作 在Java中,数组是一种基本的数据...

    列主元素消去法求LU分解

    在数值线性代数中,LU分解是一种将一个矩阵分解为一个下三角矩阵L和一个上三角矩阵U的运算,这种分解在解决线性方程组、计算行列式以及求解逆矩阵等方面有着广泛的应用。列主元素消去法是实现LU分解的一种策略,它在...

    计算数字排列组合,任意数字的组合。

    2. **组合的计算**:组合的总数用组合数C(n, r)表示,即从n个不同元素中不重复地取出r个元素的组合数。组合数的计算公式为C(n, r) = n! / [r!(n-r)!]。 3. **算法实现**:在编程中,常用递归或动态规划方法实现排列...

Global site tag (gtag.js) - Google Analytics