快速找到一个数组中的最大值、次大值及最小值
程序员文章站
2024-03-15 21:26:00
...
快速找到数组中的最大值、次大值及最小值
本文主要用于将一个数组中的最大值、最小值和次大值通过java代码实现出来。有的伙伴肯定也想过可以将数组进行排序在直接取值,虽然这样也可以,但终究代码效率会慢一些。如果需要具体详情,可以参考数据结构中关于排序的部分。
package com.cyl.day05;
/**
* 快速找出一个数组中的最大数、第二大数。
* @author CLY
*
*/
public class SearchBig {
public static void main(String[] args) {
int[] arr= {10,2,3,9,33,22,55,99,96};
getBig(arr);
getMin(arr);
}
//寻找数组最大和第二大的元素
public static void getBig(int[] arr) {
//big_1用来标记一个数组中的最大值
int big_1 = arr[0];
//big_2用来标记一个数组中的次大值
int big_2 =Integer.MIN_VALUE;
for(int i=1;i<arr.length;i++) {
if(arr[i]>big_1) {
big_2 = big_1;
big_1 = arr[i];
}else if(arr[i]>big_2 && arr[i]!=big_1){
big_2 = arr[i];
}
}
System.out.println("数组中最大的数是:"+big_1+"第二大的数是:"+big_2);
}
//寻找最小值
public static void getMin(int[] arr) {
int min = arr[0];
for(int i=1;i<arr.length;i++) {
if(arr[i]<min) {
min = arr[i];
}
}
System.out.println("该数组中最小的值为"+min);
}
}
上一篇: networkx
下一篇: 实现带有返回栈中最小元素功能的栈结构