This Java program Implements Maximum Length Chain Of Pairs.Given n pairs of numbers. In every pair, the first number is always smaller than the second number. A pair (c, d) can follow another pair (a, b) if b < c. Chain of pairs can be formed in this fashion. Find the longest chain which can be formed from a given set of pairs. Here is the source code of the Java Program to Implement Maximum Length Chain Of Pairs.The Java program is successfully compiled and run on a Linux system. The program output is also shown below.
public class MaxLengthChainOfPairs
{
public int maxChainLength(PairVal pair_arr[], int n)
{
int i, j, max = 0;
int MaxChainLen[] = new int[n];
for (i = 0; i < n; i++)
{
MaxChainLen[i] = 1;
}
for (i = 0; i < n; i++)
{
for (j = 0; j < i; j++)
{
if (pair_arr[i].a > pair_arr[j].b && MaxChainLen[i] < MaxChainLen[j] + 1)
MaxChainLen[i] = MaxChainLen[j] + 1;
}
}
for (i = 0; i < n; i++)
{
if (max < MaxChainLen[i])
max = MaxChainLen[i];
}
return max;
}
public static void main(String... arg)
{
PairVal pair_arr[] = new PairVal[4];
pair_arr[0] = new PairVal(5, 24);
pair_arr[1] = new PairVal(15, 25);
pair_arr[2] = new PairVal(27, 40);
pair_arr[3] = new PairVal(50, 60);
int n = 4;
MaxLengthChainOfPairs maxLengthChainOfPairs = new MaxLengthChainOfPairs();
System.out.println("the length of maximum size chain is "
+ maxLengthChainOfPairs.maxChainLength(pair_arr, n));
}
}
class PairVal
{
int a;
int b;
PairVal(int a, int b)
{
this.a = a;
this.b = b;
}
}
$ javac MaxLengthChainOfPairs.java $ java MaxLengthChainOfPairs the length of maximum size chain is 3
Related posts:
Hướng dẫn Java Design Pattern – Service Locator
Tránh lỗi NullPointerException trong Java như thế nào?
Returning Image/Media Data with Spring MVC
Java equals() and hashCode() Contracts
Using Spring ResponseEntity to Manipulate the HTTP Response
HttpClient Basic Authentication
Java Program to Compute Discrete Fourier Transform Using Naive Approach
A Guide to WatchService in Java NIO2
Spring Security Form Login
Dynamic Proxies in Java
Spring Boot - Scheduling
Java Program to Implement Sorted Circularly Singly Linked List
Spring Boot - Hystrix
Hướng dẫn Java Design Pattern – Prototype
Java Program to Perform Preorder Recursive Traversal of a Given Binary Tree
Debugging Reactive Streams in Java
Spring Data JPA @Query
Introduction to Spring Cloud Rest Client with Netflix Ribbon
Java Program to Implement LinkedBlockingDeque API
More Jackson Annotations
Circular Dependencies in Spring
How to Set TLS Version in Apache HttpClient
Check If a String Is Numeric in Java
Spring WebFlux Filters
Java Program to Find the Nearest Neighbor Using K-D Tree Search
Hướng dẫn Java Design Pattern – Observer
“Stream has already been operated upon or closed” Exception in Java
Introduction to the Java ArrayDeque
Custom HTTP Header with the HttpClient
Spring Boot - Servlet Filter
Java Program to Implement Hash Tables Chaining with Binary Trees
Hướng dẫn Java Design Pattern – Singleton