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:
Extract network card address
Java Program to Remove the Edges in a Given Cyclic Graph such that its Linear Extension can be Found
Java Program to do a Depth First Search/Traversal on a graph non-recursively
Java Program to Implement TreeSet API
Allow user:password in URL
Convert Hex to ASCII in Java
Java Program to Implement the Edmond’s Algorithm for Maximum Cardinality Matching
Spring Cloud – Bootstrapping
So sánh Array và ArrayList trong Java
Integer Constant Pool trong Java
Working with Network Interfaces in Java
Ways to Iterate Over a List in Java
Giới thiệu Google Guice – Aspect Oriented Programming (AOP)
Hướng dẫn Java Design Pattern – Dependency Injection
Simple Single Sign-On with Spring Security OAuth2
XML Serialization and Deserialization with Jackson
Guide to @ConfigurationProperties in Spring Boot
Java Program to Implement CopyOnWriteArrayList API
Practical Java Examples of the Big O Notation
Spring Security Remember Me
Intro to the Jackson ObjectMapper
Spring Cloud – Tracing Services with Zipkin
Xử lý ngoại lệ đối với trường hợp ghi đè phương thức trong java
Spring Boot - Bootstrapping
Java Program to Implement Pollard Rho Algorithm
Java IO vs NIO
Java – Write to File
Check if a String is a Palindrome in Java
Java Program to Perform Partial Key Search in a K-D Tree
Java Program to Create the Prufer Code for a Tree
Receive email using POP3
Finding Max/Min of a List or Collection