📅  最后修改于: 2023-12-03 15:10:15.730000             🧑  作者: Mango
教资会网络 (UGC NET) 是一个印度国家水平的考试,由教资会主管,目的是选择出适合从事印度学术研究和教学的个人。UGC NET 考试包含许多主题,其中包括计算机科学考试。2017 年一月至三日的 UGC NET CS 考试的问题 35 将与编程有关。
问题 35 要求编写 Java 程序,该程序将非负整数列表作为其输入,并输出第二个最小值。如果无法找到第二个最小值,则输出-1。
我们可以使用 Java 语言来编写这个程序。Java 提供了许多内置函数和数据结构,可以方便地处理列表和数字的操作。
首先,我们需要从输入中读取列表。Java 有一个称为 Scanner 的类,它可以帮助我们从标准输入中读取数据。以下是一个示例代码片段:
import java.util.Scanner;
public class SecondMinimum {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int[] arr = new int[n];
for (int i = 0; i < n; i++) {
arr[i] = sc.nextInt();
}
}
}
接下来,我们需要查找第二个最小值。我们可以使用两个变量来保存最小值和第二个最小值。遍历列表,并将每个元素与当前最小值和第二个最小值进行比较。如果元素是比当前最小值更小的最小值,则将当前最小值设置为该元素。如果元素比当前第二个最小值更小,则将当前第二个最小值设置为该元素。以下是一个示例代码片段:
import java.util.Scanner;
public class SecondMinimum {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int[] arr = new int[n];
for (int i = 0; i < n; i++) {
arr[i] = sc.nextInt();
}
int min = Integer.MAX_VALUE;
int secondMin = Integer.MAX_VALUE;
for (int i = 0; i < n; i++) {
if (arr[i] < min) {
secondMin = min;
min = arr[i];
} else if (arr[i] < secondMin && arr[i] != min) {
secondMin = arr[i];
}
}
if (secondMin == Integer.MAX_VALUE) {
System.out.println("-1");
} else {
System.out.println(secondMin);
}
}
}
通过上述的步骤,我们就完成了一个 Java 程序,可以找出输入的非负整数列表的第二个最小值。这个程序使用了 Java 的 Scanner 类读取输入,并使用了一个 for 循环来查找第二个最小值。