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:
Java Program to Construct K-D Tree for 2 Dimensional Data
Java Program to Print the Kind of Rotation the AVL Tree is Undergoing
Java Deep Learning Essentials - Yusuke Sugomori
Java Program to Implement Floyd-Warshall Algorithm
Jackson vs Gson
Spring Cloud AWS – Messaging Support
A Guide to ConcurrentMap
Spring REST API + OAuth2 + Angular
Simplify the DAO with Spring and Java Generics
The Modulo Operator in Java
Custom JUnit 4 Test Runners
Examine the internal DNS cache
Concurrent Test Execution in Spring 5
Java Program to Perform Preorder Recursive Traversal of a Given Binary Tree
Comparing Long Values in Java
Spring Data JPA and Null Parameters
Biến trong java
Java Program to Implement Johnson’s Algorithm
Java Program to Implement Tarjan Algorithm
Java Program to Construct an Expression Tree for an Infix Expression
Java Program to Test Using DFS Whether a Directed Graph is Strongly Connected or Not
Bootstrap a Web Application with Spring 5
The HttpMediaTypeNotAcceptableException in Spring MVC
Sao chép các phần tử của một mảng sang mảng khác như thế nào?
So sánh HashMap và Hashtable trong Java
Java Program to Implement ArrayBlockingQueue API
How to Break from Java Stream forEach
Deploy a Spring Boot WAR into a Tomcat Server
Java Program to Check whether Graph is Biconnected
Java Program to Implement Heap Sort Using Library Functions
Java Program to Create a Random Graph Using Random Edge Generation
Java Program to Perform Cryptography Using Transposition Technique