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 Describe the Representation of Graph using Adjacency Matrix
Spring REST API + OAuth2 + Angular
Spring MVC Tutorial
Java Program to Find Strongly Connected Components in Graphs
Java Program to Check Whether it is Weakly Connected or Strongly Connected for a Directed Graph
Apache Commons Collections Bag
So sánh HashMap và Hashtable trong Java
Các nguyên lý thiết kế hướng đối tượng – SOLID
Introduction to Eclipse Collections
Disable DNS caching
Java Program to do a Depth First Search/Traversal on a graph non-recursively
Spring Boot Actuator
Format ZonedDateTime to String
Java Program to Implement Depth-limited Search
Validations for Enum Types
Java Program to Implement Uniform-Cost Search
Java Program to Implement Heap’s Algorithm for Permutation of N Numbers
Java Program to Implement Vector API
Java Program to Implement Stein GCD Algorithm
Cơ chế Upcasting và Downcasting trong java
Tính kế thừa (Inheritance) trong java
Spring Web Annotations
Java Program to Implement HashSet API
Java – Rename or Move a File
Java Program to Create the Prufer Code for a Tree
Implementing a Binary Tree in Java
The Spring @Controller and @RestController Annotations
Java Program to Implement Ternary Tree
Java Program to Implement Nth Root Algorithm
Implementing a Runnable vs Extending a Thread
The Registration Process With Spring Security
Java Program to Implement Hash Tables