package com.jxb.test;
public class FindSecMax {
public int findSecMax(int[] data) {
int maxNum = 0;
int secMaxNum = 0;
// 先将前两个元素按大小分别赋给第一大和第二大的数
if (data.length < 2)
return -1;
if (data[0] >= data[1]) {
maxNum = data[0];
secMaxNum = data[1];
} else {
maxNum = data[1];
secMaxNum = data[0];
}
// 从第三个开始循环,如果元素大于最大值,则最大值更新,原最大值赋给第二大值
// 如果该元素不大于最大值,且大约第二大的值,则第二大的值更新
for (int i = 2; i < data.length; i++) {
if (data[i] > maxNum) {
secMaxNum = maxNum;
maxNum = data[i];
} else {
if (data[i] >= secMaxNum) {
secMaxNum = data[i];
}
}
}
return secMaxNum;
}
/**
* @param args
*/
public static void main(String[] args) {
FindSecMax fsm = new FindSecMax();
int[] a = new int[] { 10, 9,9, -70000, -90000, -600000,
-500000, -32769 };
System.out.println(fsm.findSecMax(a));
}
}
分享到:
相关推荐
在Java编程语言中,对包含中文、数字和字母的数据进行排序是一项常见的任务。这个场景下,我们关注的是如何实现一个自定义的排序规则,按照数字、字母和汉字的顺序进行排列。以下是对这一主题的详细解释。 首先,...
结合这些知识点,开发者可以创建一个Java程序,首先从文件中读取数据到数组,然后使用选择排序对数组进行排序,最后利用二分查找在排序后的数组中查找特定元素。这是一个典型的文件操作与算法应用的实例。
“Java输入五个数,保存到一个数组中,然后将这五个数字进行从小到大的排列 采用冒泡排序法,如下:package com.test;import java.util.Arrays;import java.util.Scanner;public class TestA { public ...”
在Java编程语言中,判断一个整数是否为质数是一个常见的数学问题,也是计算机科学基础课程中的典型示例。质数定义为只能被1和它本身整除的大于1的自然数,例如2、3、5、7、11等。在实际应用中,检查一个数是否为质数...
- 在Java中,二维数组可以通过声明一个一维数组的数组来创建,例如`int[][] array = new int[2][3];` - 生成0到100之间的随机整数,可以使用`(int)(Math.random() * 100)`。 - 对数组进行排序,Java提供了`Arrays...
在Java编程语言中,求解一个整数的因子是一个常见的问题。因子,也称为因数,是能够整除给定整数的正整数。在这个问题中,我们需要编写一段代码来找出并打印出一个整数的所有因子。下面,我们将详细讨论如何实现这个...
在Java编程语言中,处理数字并获取其每一位数是一项常见的任务。这可能涉及到将一个正整数转换为字符串,然后逐个访问字符,或者通过数学运算来实现。本篇文章将详细探讨如何在Java中实现这一功能,以满足各种场景的...
为了找到`m`的所有因子,实验使用了一个循环,从2遍历到`m-1`,检查每个数是否是`m`的因子。如果`m`能被当前数整除,就增加计数器`COUNT`并打印因子。注意,这里不包括1和大整数本身。 实验指导中强调,由于`...
解决方案 1:首先是这一天,并且是访问百度的日志中的 IP 取出来,逐个写入到一个大文件中,然后采用映射的方法,找出每个小文件中出现频率最大的 IP,最后在这 1000 个最大的 IP 中,找出那个频率最大的 IP。...
基于Java和Python语言使用函数输出一个整数的逆序数.zip 基于Java和Python语言使用函数输出一个整数的逆序数.zip 基于Java和Python语言使用函数输出一个整数的逆序数.zip 基于Java和Python语言使用函数输出一个整数...
这种处理方式确保了每个数字仅出现一次,但值得注意的是,随着数组逐渐填满,找到一个未使用的数字会变得越来越困难,这可能导致性能问题,特别是在大数组中。 #### 3. 输出特定条件下的数字 代码进一步处理了输出...
用JAVA实现的排序额 学JAVA 小试身手
然后,我们使用一个`for`循环,从1遍历到`num`的平方根(`Math.sqrt(num)`),这是因为在任何情况下,一个整数的最大因子都不会超过它的平方根。在循环中,我们检查当前的`i`是否能整除`num`,如果可以,`i`就是一个...
根据提供的文件信息,我们可以归纳出两个主要的知识点:一个是通过排序和遍历的方式来寻找一个整数数组中出现次数最多的整数;另一个则是利用哈希表(`HashMap`)来统计每个整数出现的频率,进而找出出现频率最高的...
然后,通过一个for循环从数组的第二个元素开始遍历,如果当前元素大于已知的最大值,就更新最大值。当遍历完整个数组后,返回找到的最大值。 这种方法虽然简单,但效率并不高,因为它的时间复杂度是O(n),其中n是...
在Java中,我们可以创建一个名为`SelectSort`的类,包含一个名为`selectSort`的静态方法,该方法接受一个整数数组作为参数,并对其进行选择排序。 ```java public class SelectSort { public static void select...
在Java编程语言中,生成随机数和排序是两个常见的任务,它们在许多应用场景中都扮演着重要角色。这里我们将深入探讨这两个主题,并提供一些解决实际问题的方法。 首先,让我们来看看如何在Java中生成随机数。Java...
对于数组排列组合问题,我们可以设计一个递归函数,从每个数组的第一个元素开始,依次尝试将每个元素放入结果数组,并递归处理剩余的元素和数组。 以下是一个简单的Java实现思路: 1. 定义一个递归函数,接收当前...
在Java编程中,有时我们需要对一组参数按照字典顺序(ASCII码值从小到大)进行排序,例如在创建签名或构建URL查询字符串时。这里提供了一个名为`createSign`的方法,它接受一个`Map, Object>`类型的参数,并返回一个...
在Java编程语言中,求一个整数的因子是基础算法之一,通常用于教学或面试中考察基本的编程能力和算法理解。因子又称因数,指的是能够整除原数的正整数。例如,对于整数12,其因子包括1、2、3、4、6和12。 编写一个...