Здравствуйте! Подскажите пожалуйста, не совсем понимаю условие: "... Если таких чисел несколько, то необходимо вывести любое из них. ..."
Посмотрел предыдущие решения задачи, например при вводе 2,2,3 нужно выводить 3. Все хорошо, с этим разобрался, но если я пишу 2,2,2,2,3,2,2,3 - т.е. одинаковые минимальные и два (не подряд) следующие за минимальным, выводится тройка. Но задача не проходит проверку)
И собственно сама загвоздка - если выводится "любое из них", условие должно выполняться? Буду очень благодарен объяснению, спасибо!
package com.javarush.task.pro.task04.task0410;
import java.util.Scanner;
/*
Второе минимальное число из введенных
*/
public class Solution {
public static void main(String[] args) {
//напишите тут ваш код
Scanner sc = new Scanner(System.in);
int min, midle;
int a = sc.nextInt();
int b = sc.nextInt();
if (a < b) {
min = a;
midle = b;
} else {
min = b;
midle = a;
}
while (sc.hasNextInt()) {
int workNumber = sc.nextInt();
if (workNumber <= min) {
midle = min;
min = workNumber;
}
else if (workNumber <= midle || (workNumber != min && workNumber != midle)) {
midle = workNumber;
}
}
System.out.println(midle);
}
}