Find Second Largest Element in Array: 3 Approaches

#Coding2 Q: Find the second largest element in an array. Example: int[] arr = {1, 34, 56, 78, 90}; Output → 78 I explored 3 different approaches: ✅ 1. Single Pass (Optimal – O(n)) int largest = Integer.MIN_VALUE; int secondLargest = Integer.MIN_VALUE; for(int num : arr) { if(num > largest) { secondLargest = largest; largest = num; } else if(num > secondLargest && num != largest) { secondLargest = num; } } ✅ 2. Using Sorting (O(n log n)) Arrays.sort(arr); int secondLargest = arr[arr.length - 2]; ✅ 3. Using Java Streams int secondLargest = Arrays.stream(arr) .boxed() .sorted(Collections.reverseOrder()) .distinct() .skip(1) .findFirst() .get(); Key Learnings: Single-pass approach is interview preferred (O(n) time, O(1) space) Handle duplicates carefully Streams and sorting are cleaner but less optimal. Practicing fundamentals daily to strengthen problem-solving skills #DSA #Java #ProblemSolving #CodingJourney #InterviewPrep #SoftwareEngineer #LearningInPublic #LinkedInDSA

To view or add a comment, sign in

Explore content categories