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:
Spring WebClient Requests with Parameters
Spring Boot - Exception Handling
A Guide to @RepeatedTest in Junit 5
Spring Cloud – Bootstrapping
Java Program to Implement RoleUnresolvedList API
Java Program to Generate All Possible Combinations of a Given List of Numbers
Java Program to Perform Addition Operation Using Bitwise Operators
Java Program to Implement Shoelace Algorithm
Java Program to Find kth Largest Element in a Sequence
Java 8 – Powerful Comparison with Lambdas
Java Program to Find the Number of Ways to Write a Number as the Sum of Numbers Smaller than Itself
Generate Spring Boot REST Client with Swagger
Java – InputStream to Reader
Introduction to the Java NIO Selector
Java Program to Find Transpose of a Graph Matrix
Java Program to Implement HashTable API
ThreadPoolTaskExecutor corePoolSize vs. maxPoolSize
Java Program to Implement Sorted Circularly Singly Linked List
Spring Boot Tutorial – Bootstrap a Simple Application
Custom HTTP Header with the HttpClient
Java Program to Implement Bucket Sort
Introduction to PCollections
Java Map With Case-Insensitive Keys
Java Program to Implement Coppersmith Freivald’s Algorithm
Hướng dẫn Java Design Pattern – Mediator
Adding a Newline Character to a String in Java
Java Program to Implement Horner Algorithm
Split a String in Java
Map Interface trong java
Java Program to subtract two large numbers using Linked Lists
Java 8 Streams peek() API
More Jackson Annotations