Java Online Compiler
Example: FindNthElementsIterative in Java
C
C++
C#
Java
Python
PHP
Main.java
STDIN
Run
// FindNthElementsIterative import java.util.Arrays; public class Main { public static void main(String[] args) { int[] numbers = {10, 5, 20, 8, 15, 20, 12, 5}; System.out.println("Original array: " + Arrays.toString(numbers)); // Step 1: Handle edge cases for array size if (numbers.length < 2) { System.out.println("Array must have at least 2 elements to find second smallest."); return; } if (numbers.length < 3) { System.out.println("Array must have at least 3 elements to find third largest."); return; } // --- Find Second Smallest Element --- // Initialize firstSmallest and secondSmallest to maximum possible integer value int firstSmallest = Integer.MAX_VALUE; int secondSmallest = Integer.MAX_VALUE; // Step 2: Iterate through the array to find the second smallest for (int num : numbers) { if (num < firstSmallest) { // If current number is smaller than firstSmallest, update both secondSmallest = firstSmallest; firstSmallest = num; } else if (num < secondSmallest && num != firstSmallest) { // If current number is smaller than secondSmallest but not equal to firstSmallest, update secondSmallest secondSmallest = num; } } // --- Find Third Largest Element --- // Initialize largest1, largest2, and largest3 to minimum possible integer value int largest1 = Integer.MIN_VALUE; int largest2 = Integer.MIN_VALUE; int largest3 = Integer.MIN_VALUE; // Step 3: Iterate through the array to find the third largest for (int num : numbers) { if (num > largest1) { // If current number is greater than largest1, shift all down largest3 = largest2; largest2 = largest1; largest1 = num; } else if (num > largest2 && num != largest1) { // If current number is greater than largest2 but not equal to largest1 largest3 = largest2; largest2 = num; } else if (num > largest3 && num != largest2 && num != largest1) { // If current number is greater than largest3 but not equal to largest1 or largest2 largest3 = num; } } System.out.println("Second Smallest Element: " + secondSmallest); System.out.println("Third Largest Element: " + largest3); } }
Output
Clear
ADVERTISEMENTS