This is a java program to find the second smallest element with given complexity. Complexity here is minimum space constraints. Inplace sorting and returning second element help achieving the space constraints.
Here is the source code of the Java Program to Find Second Smallest of n Elements with Given Complexity Constraint. The Java program is successfully compiled and run on a Windows system. The program output is also shown below.
//This is a java program to find the second smallest element of N elements with the minimum space complexity constraints import java.util.Random; public class Second_Smallest_Element { static int kthminimum(int[] sequence, int k) { // Bubble Sort for length of sequence minus k times for (int i = 0; i < (sequence.length - k); i++) for (int j = 0; j < sequence.length - 1; j++) if (sequence[j] > sequence[j + 1]) { sequence[j] = sequence[j] + sequence[j + 1]; sequence[j + 1] = sequence[j] - sequence[j + 1]; sequence[j] = sequence[j] - sequence[j + 1]; } return sequence[k - 1]; } public static void main(String args[]) { Random random = new Random(); int N = 20; int[] sequence = new int[N]; for (int i = 0; i < N; i++) sequence[i] = Math.abs(random.nextInt(1000)); System.out.println("Original Sequence: "); for (int i = 0; i < N; i++) System.out.print(sequence[i] + " "); System.out.println("\nSecond smallest element :\n" + kthminimum(sequence, 2)); } }
Output:
$ javac Second_Smallest_Element.java $ java Second_Smallest_Element Original Sequence: 459 886 873 766 616 878 122 372 453 876 845 965 477 139 788 861 148 5 894 439 Second smallest element : 122 Original Sequence: 695 213 257 62 315 289 234 90 153 721 192 183 676 373 292 928 57 472 200 177 Second smallest element : 62
Related posts:
Wrapper Classes in Java
Java Program to Generate a Random UnDirected Graph for a Given Number of Edges
Jackson Exceptions – Problems and Solutions
Java Program to Implement Pagoda
Guide to the Java TransferQueue
Exception Handling in Java
Introduction to Java 8 Streams
Java Program to Solve TSP Using Minimum Spanning Trees
A Guide to JPA with Spring
Guide to java.util.concurrent.BlockingQueue
Spring Boot - Internationalization
Java Program to Implement Weight Balanced Tree
Array to String Conversions
The Spring @Controller and @RestController Annotations
Daemon Threads in Java
The StackOverflowError in Java
Java Concurrency Interview Questions and Answers
Java Program to Implement Threaded Binary Tree
Java 8 Stream findFirst() vs. findAny()
Stack Memory and Heap Space in Java
Zipping Collections in Java
Java Program to Construct an Expression Tree for an Postfix Expression
Introduction to Using Thymeleaf in Spring
Hướng dẫn Java Design Pattern – Adapter
HttpClient 4 – Follow Redirects for POST
Quick Guide to Spring Controllers
Java Program to Implement Bubble Sort
Marker Interface trong Java
Phương thức forEach() trong java 8
Testing in Spring Boot
Java Program to Implement Sparse Matrix
Spring @RequestMapping New Shortcut Annotations