Мне сложно понять логику метода, чтобы найти второе по величине число в массиве. Используемый метод состоит в том, чтобы найти самое высокое в массиве, но меньше, чем предыдущее самое высокое (которое уже было найдено). То, что я до сих пор не могу понять, это то, почему || highest_score == second_highest
необходимо. Например, я ввожу три числа: 98, 56, 3. Без него как наивысшее, так и второе наивысшее будет 98. Пожалуйста, объясните.
int second highest = score[0];
if (score[i] > second_highest && score[i] < highest_score || highest_score == second_highest)
second_highest = score[i];