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:
Object cloning trong java
Java Program to Implement Rope
Java Program to Find Maximum Element in an Array using Binary Search
Java Program to Perform the Sorting Using Counting Sort
Java Program to Create a Random Graph Using Random Edge Generation
Java Map With Case-Insensitive Keys
How to Manually Authenticate User with Spring Security
Java Program to do a Depth First Search/Traversal on a graph non-recursively
Giới thiệu Google Guice – Injection, Scope
4 tính chất của lập trình hướng đối tượng trong Java
Guide to WeakHashMap in Java
Java Program to Implement Interval Tree
Giới thiệu SOAP UI và thực hiện test Web Service
Java Program to Implement Direct Addressing Tables
Deploy a Spring Boot App to Azure
Java Program to Implement Bucket Sort
Spring Security Login Page with React
Guide to the Volatile Keyword in Java
Java Program to Implement PriorityQueue API
Filtering and Transforming Collections in Guava
JPA/Hibernate Persistence Context
Sort a HashMap in Java
Introduction to PCollections
Using Optional with Jackson
Hamcrest Collections Cookbook
Spring Security Custom AuthenticationFailureHandler
Difference Between Wait and Sleep in Java
Java Program to Check Whether a Directed Graph Contains a Eulerian Path
ETags for REST with Spring
Class Loaders in Java
Spring Boot: Customize Whitelabel Error Page
Java 8 Stream findFirst() vs. findAny()