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:
Guide to java.util.concurrent.BlockingQueue
An Intro to Spring Cloud Task
How to Add a Single Element to a Stream
Lớp lồng nhau trong java (Java inner class)
Annotation trong Java 8
Generating Random Numbers in a Range in Java
Java Program to Implement Gaussian Elimination Algorithm
Send email with JavaMail
Spring NoSuchBeanDefinitionException
Java Program to Implement Sorted Circularly Singly Linked List
Introduction to Spring Cloud CLI
Java Program to Generate Random Numbers Using Multiply with Carry Method
Java Program to Generate Randomized Sequence of Given Range of Numbers
Java Program to Implement Red Black Tree
Join and Split Arrays and Collections in Java
The Difference Between map() and flatMap()
A Guide to Concurrent Queues in Java
New in Spring Security OAuth2 – Verify Claims
Java Program to Implement Graham Scan Algorithm to Find the Convex Hull
Map to String Conversion in Java
How to Read a Large File Efficiently with Java
Mapping a Dynamic JSON Object with Jackson
Java Program to Implement the Binary Counting Method to Generate Subsets of a Set
Functional Interface trong Java 8
Java Program to Perform Matrix Multiplication
Spring Boot - CORS Support
Java Program to Solve the Fractional Knapsack Problem
Spring Webflux and CORS
Spring’s RequestBody and ResponseBody Annotations
Show Hibernate/JPA SQL Statements from Spring Boot
Java Program to Implement Unrolled Linked List
Java Program to Implement Rope