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数学排序小程序,给定三个整数x,y,z,程序处理后让这三个数由小到大排列输出,代码编写思路:想办法把最小的数放到x上,先将x与y进行比较,如果x> y则将x与y的值进行交换,然后再用x与z进行比较,如果x> z则...
java代码-使用java,一个整数各个位上的最大数字的源代码 ——学习参考资料:仅用于个人学习使用!
按从大到小顺序排序输出合并后的整数集(去掉在两组整数中都出现的整数,以一个空格分隔各个整数)。 【样例输入】 5 1 4 32 8 7 9 -6 5 2 87 10 1 【样例输出】 87 32 10 9 8 7 4 2 -6 【样例说明】 第一...
在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输入参数为一个整数,输出为该整数各个位上的最大数字的源代码 ——学习参考资料:仅用于个人学习使用!
例如,在给定的代码中,我们可以使用 Random 对象来生成 0-9 之间的 100 个随机整数,并显示每一个数的个数。 知识点 8:数组最小元素 在 Java 中,我们可以使用循环语句来查找数组中的最小元素。例如,在给定的...
在Java中实现这些算法,需要理解它们的基本原理,以及如何使用Java的内置数据结构如数组和ArrayList。例如,快速排序通常使用递归,而归并排序则需要使用到数组的复制操作。二分查找则涉及对数组或ArrayList的索引...
基本思想:算法先将要排序的一组数按某个增量 d(n/2,n 为要排序数的个数)分成若干组,每组中记录的下标相差 d.对每组中全部元素进行直接插入排序,然后再用一个较小的增量(d/2)对它进行分组,在每组中再进行直接...
基于Java和Python语言使用函数输出一个整数的逆序数.zip 基于Java和Python语言使用函数输出一个整数的逆序数.zip 基于Java和Python语言使用函数输出一个整数的逆序数.zip 基于Java和Python语言使用函数输出一个整数...
这种处理方式确保了每个数字仅出现一次,但值得注意的是,随着数组逐渐填满,找到一个未使用的数字会变得越来越困难,这可能导致性能问题,特别是在大数组中。 #### 3. 输出特定条件下的数字 代码进一步处理了输出...
用JAVA实现的排序额 学JAVA 小试身手
然后,我们使用一个`for`循环,从1遍历到`num`的平方根(`Math.sqrt(num)`),这是因为在任何情况下,一个整数的最大因子都不会超过它的平方根。在循环中,我们检查当前的`i`是否能整除`num`,如果可以,`i`就是一个...
然后,通过一个for循环从数组的第二个元素开始遍历,如果当前元素大于已知的最大值,就更新最大值。当遍历完整个数组后,返回找到的最大值。 这种方法虽然简单,但效率并不高,因为它的时间复杂度是O(n),其中n是...
这些知识点涵盖了常见的排序算法实现,包括冒泡排序、选择排序以及如何使用Java内置的排序方法等。 ### Java排序算法实现 #### 1. 冒泡排序 冒泡排序是一种简单的排序算法,通过重复地遍历待排序数组,比较相邻...
在Java编程中,有时我们需要对一组参数按照字典顺序(ASCII码值从小到大)进行排序,例如在创建签名或构建URL查询字符串时。这里提供了一个名为`createSign`的方法,它接受一个`Map, Object>`类型的参数,并返回一个...
本代码信息: 使用语言:java 功能:将整数(包括正负整数)转换成对应的二进制数,然后再控制台上显示。
Java实现中,我们通过两个循环来完成这个过程,外层循环控制遍历的次数,内层循环则用于找到当前未排序部分的最小元素,并与第一个位置的元素交换。简单选择排序的时间复杂度同样是O(n^2),效率并不高,但在某些特定...