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:
Weak References in Java
Java Program to Perform Optimal Paranthesization Using Dynamic Programming
Remove the First Element from a List
Logout in an OAuth Secured Application
Java – Get Random Item/Element From a List
Từ khóa throw và throws trong Java
Java Program to Implement Attribute API
Java Web Services – Jersey JAX-RS – REST và sử dụng REST API testing tools với Postman
Java Program to Check Whether Topological Sorting can be Performed in a Graph
Send email with SMTPS (eg. Google GMail)
Validations for Enum Types
Configure a RestTemplate with RestTemplateBuilder
The SpringJUnitConfig and SpringJUnitWebConfig Annotations in Spring 5
Hướng dẫn Java Design Pattern – Prototype
Java Program to Find Number of Articulation points in a Graph
Java Program to Implement Ford–Fulkerson Algorithm
Adding Parameters to HttpClient Requests
Java Program to Implement ArrayList API
Java Program to Implement Warshall Algorithm
Lập trình đa luồng với CompletableFuture trong Java 8
Spring Boot Security Auto-Configuration
Java Program to Implement CountMinSketch
Java Program to Implement Lloyd’s Algorithm
Java Program to Find Whether a Path Exists Between 2 Given Nodes
Simple Single Sign-On with Spring Security OAuth2
Guide to BufferedReader
Java Program to Implement Naor-Reingold Pseudo Random Function
A Guide To UDP In Java
Spring Boot - Building RESTful Web Services
Hướng dẫn sử dụng luồng vào ra ký tự trong Java
Java Program to implement Bi Directional Map
Java Timer