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 Implement Hash Tables Chaining with Binary Trees
Spring MVC + Thymeleaf 3.0: New Features
Java Convenience Factory Methods for Collections
Java Program to Implement Bit Array
Comparing Arrays in Java
A Guide to the ResourceBundle
Java Program to Represent Graph Using Adjacency List
OAuth2 for a Spring REST API – Handle the Refresh Token in Angular
Java Program to Construct a Random Graph by the Method of Random Edge Selection
Java Program to Implement the linear congruential generator for Pseudo Random Number Generation
Toán tử trong java
New Features in Java 10
Java Program to Implement the Edmond’s Algorithm for Maximum Cardinality Matching
Java Program to Implement IdentityHashMap API
Period and Duration in Java
Java Program to implement Bit Set
Show Hibernate/JPA SQL Statements from Spring Boot
Java Program to Implement Circular Singly Linked List
Java Program to Generate All Subsets of a Given Set in the Lexico Graphic Order
Introduction to Spring Method Security
The Registration Process With Spring Security
JWT – Token-based Authentication trong Jersey 2.x
Introduction to Spring Cloud Rest Client with Netflix Ribbon
Java Program to Solve any Linear Equations
Finding the Differences Between Two Lists in Java
List Interface trong Java
Java Program to Generate Random Hexadecimal Byte
Java – InputStream to Reader
The Order of Tests in JUnit
Check if a String is a Palindrome in Java
Java Program to Check Whether Graph is DAG
Java Program to Implement Affine Cipher