先看代码
- import java.util.Arrays;
- public class MyTest {
- public static void main(String[] args) {
- int[] values = new int[] { 5, 3, 5, -5, 5, 0, 5 };
- int maxValue = getMax(values);
- if (maxValue > Integer.MIN_VALUE) {
- System.out.println("Number=" + maxValue);
- for (int i = 0; i < values.length; i++) {
- if (values[i] == maxValue) {
- System.out.print(i + " ");
- }
- }
- } else {
- System.out.println("没有找到");
- }
- }
- public static int getMax(int[] values) {
- int[] nums = Arrays.copyOf(values, values.length);
- Arrays.sort(nums);
- int number = Integer.MIN_VALUE;
- int count = 0;
- int numbertemp = Integer.MIN_VALUE;
- int counttemp = 0;
- for (int num : nums) {
- if (num == numbertemp) {
-
- counttemp++;
- } else {
-
- if (counttemp > count) {
- number = numbertemp;
- count = counttemp;
- }
-
- numbertemp = num;
- counttemp = 1;
- }
- }
-
- if (counttemp > count) {
- number = numbertemp;
- count = counttemp;
- }
- if (1.0 * count / nums.length > 0.5) {
- return number;
- }
- return Integer.MIN_VALUE;
- }
- }
运行结果
Number=5
0 2 4 6
<script type="text/javascript">
</script> <script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript">
</script>
分享到:
相关推荐
在数组中,子数组是由数组中任意两个下标i和j(i )确定的一段连续元素的集合,即原数组的第i个元素到第j个元素。因此,数组A[0...n-1]的子数组可以表示为A[i...j],其中0 。 解决这个问题的关键在于设计一个有效的...
首先,我们需要理解问题的核心:在一个包含8个整数的数组中找到前3个最大值的下标。这可以通过排序算法来实现。排序算法有很多种,如冒泡排序、插入排序、选择排序、快速排序、归并排序等。在这个问题中,我们可以...
最直观的方法是遍历整个数组,每次找到当前最小值和次小值的下标。具体步骤如下: 1. 初始化两个变量,minIndex1 和 minIndex2,分别表示最小值和次小值的初始下标,通常设为0和1。 2. 遍历数组,从第二个元素...
在Java编程中,面对"数组排序后拿出最大的几个数,并且取它们的下标,包括数组元素相同的情况"这样的需求,我们需要使用特定的算法来处理。这个问题可以通过多种方法解决,这里我们将详细介绍一种常见且有效的方法:...
标题中的“长度2的指数倍的数组的最大元素”指的是在一个数组中寻找最大元素的问题,而这个数组的长度是2的幂次方。这样的数组长度可能是2、4、8、16等,这样的特性使得我们可以利用分治算法来高效地解决这个问题。 ...
在JavaScript编程中,查找数组中重复出现的元素是一项常见的任务,尤其在数据处理和分析时。这个场景下,我们可以通过几种不同的方法实现。下面将详细解释两种常见的JS代码实现方式,以及它们的工作原理。 首先,...
JavaScript数组是一种特殊的对象类型,用于存储有序的数据集合,且每个数据项都可以通过索引被访问。数组的索引通常是从0开始的整数,但在...通过合理使用这些方法,可以有效地管理和操作数组,为开发提供便利。
remove方法首先使用indexOf方法获取元素下标,如果下标有效(即大于-1),则使用splice方法删除该元素。 为了使上述概念更直观,文档中给出了一个简单的示例函数a,它创建了一个包含数字1到5的数组,并通过alert...
- **下标**:数组元素通过下标访问,下标从0开始,最后一个元素的下标为`length - 1`。 2. **一维数组的声明和使用** - **声明**:声明数组时,可以使用两种格式:`类型[] 变量名` 或 `类型 变量名[]`。例如,`...
数组的第一个元素下标通常是0,最后一个元素的下标是`length`。也可以使用`To`声明数组的上下界,如: ```vb Dim arrayname(lower To upper) As type ``` **5.1.2 数组应用** 访问数组元素时,通过下标进行。下标...
总体来说,push()方法在jQuery中是一个非常有用的工具,特别在处理动态内容和数据时,它可以有效地向数组中添加新元素。但是,也应当注意,由于push()方法直接修改了原数组,因此在某些情况下,可能需要在操作前复制...
在JavaScript和jQuery中,处理数组是一项常见的任务,其中包括删除数组中的特定元素。本文将深入探讨如何使用jQuery根据元素值删除数组元素,同时也会涉及到相关的JavaScript基础概念。 首先,我们需要了解`jQuery`...
#### 一、查询(查询数组中所有有效元素) 在Java中,查询数组中的所有有效元素通常采用遍历的方式。以下是一段示例代码: ```java for (int i = 0; i ; i++) { System.out.println(name[i]); } ``` 这段代码...
在C语言或者类似的编程语言中,我们可以通过多种方式来访问和操作数组中的元素,其中包括下标法、数组名法以及指针变量法。下面我们将详细讨论这三种方法。 首先,**下标法**是最常见也是最直观的方式。我们通过索...
这种方法通常用于处理有限大小的数据集,它将数组中的每个元素作为下标,并初始化一个与数组长度相同的新数组(计数数组)。遍历原始数组时,若遇到元素值为i,则在计数数组的第i个位置上增加计数。最后,找出计数...
数组元素的地址可以通过数组首元素地址和下标计算得出,如LOC(i) = a + i * l,其中a是数组首元素地址,l是每个元素的存储大小。 二维数组的存储有两种主要方式:行主映射和列主映射。行主映射按照行优先顺序存储...
【C语言程序设计:第7章 数组】 数组在C语言中是基本的数据结构,它是...总的来说,数组是C语言中基础且重要的数据结构,通过理解和掌握数组的概念、声明、引用、初始化以及动态管理,能有效地进行数据的存储和处理。
在C语言中,数组能够有效地组织和处理批量数据,是计算机程序设计中不可或缺的基础知识。 数组的定义涉及三个基本要素:数组元素的类型、元素个数以及数组的名称。数组中的每个元素都有一个下标,用来唯一标识数组...
数组允许我们在内存中存储一组相同类型的数据,通过下标访问这些数据,从而高效地处理批量数据。在单片机的C51语言环境中,数组的使用尤为关键,因为它们可以帮助我们有效地管理有限的内存资源。 一维数组是最基础...