Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

I have this code that finds the longest common subsequence between two sequences X and Y (*with the condition that the elements must be consecutive

I have this code that finds the longest common subsequence between two sequences X and Y (*with the condition that the elements must be consecutive in the both X and Y)
The code (in Java):

import java.util.Scanner;

public class LCS {

public static void main(String[] args) {

System.out.println();

Scanner input = new Scanner(System.in);

// Taking the elemest and length of X and Y from user

System.out.print("Enter the length of the sequences X and Y: ");

int n = input.nextInt();

int[] X = new int[n];

int[] Y = new int[n];

System.out.print(" Enter the elements of sequence X: ");

for (int i = 0; i

X[i] = input.nextInt();

}

System.out.print(" Enter the elements of sequence Y: ");

for (int i = 0; i

Y[i] = input.nextInt();

}

input.close();

// Printing X and Y

System.out.println();

System.out.print("X = {");

for (int i = 0; i

System.out.print(X[i]);

if (i != n - 1) {

System.out.print(", ");

}

}

System.out.print("}");

System.out.println();

System.out.print("Y = {");

for (int j = 0; j

System.out.print(Y[j]);

if (j != n - 1) {

System.out.print(", ");

}

}

System.out.print("}");

// Finding the LCS

int[][] lcs = new int[n + 1][n + 1];

for (int i = 1; i

for (int j = 1; j

if (X[i - 1] == Y[j - 1]) {

lcs[i][j] = lcs[i - 1][j - 1] + 1;

} else {

lcs[i][j] = Math.max(lcs[i - 1][j], lcs[i][j - 1]);

}

}

}

// Getting the length of LCS

int length = lcs[n][n];

// Getting the LCS elements

int[] S = new int[length];

int i = n;

int j = n;

int k = length - 1;

while (i > 0 && j > 0) {

if (X[i - 1] == Y[j - 1]) {

S[k--] = X[i - 1];

i--;

j--;

} else if (lcs[i - 1][j] > lcs[i][j - 1]) {

i--;

} else {

j--;

}

}

// Printing the LCS elements

System.out.println(" ");

System.out.print("Longest common subsequence is S = {");

for (int m = 0; m

System.out.print(S[m]);

if (m != length - 1) {

System.out.print(", ");

}

}

System.out.print("}");

// Printing the length of LCS

System.out.print("with length " + length);

System.out.println(" n = " + length);

// Finding the starting index in X and Y

int startIndexX = -1;

int startIndexY = -1;

for (i = 0; i

if (X[i] == S[0]) {

startIndexX = i;

break;

}

}

for (j = 0; j

if (Y[j] == S[0]) {

startIndexY = j;

break;

}

}

// Printing the start index of X and Y

System.out.println("i = " + startIndexX);

System.out.println("j = " + startIndexY);

System.out.println();

}

}

*the problem is that when I ran the program with the example:

X = {1, 2, 3, 5, 4, 7}

Y = {0, 4, 1, 2, 3, 7}

it gave me the output, S = {1, 2, 3, 7}

which is wrong beacuse 7 is not consecutive with the other elements in X and Y.

What do I need to change in my code to solve this issue?

image text in transcribed
PROBLEMS 1 OUTPUT Enter the length of the sequences X and Y:6 Enter the elements of sequence X:1 2 3 5 4 Enter the elements of sequence Y:0 4 1 2 3 7 X={1,2,3,5,4,7} Y={0,4,1,2,3,7} Longestcommonsubsequenceisn=4S={1,2,3,7} with length 4 i=0j=2

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Advances In Spatial Databases 2nd Symposium Ssd 91 Zurich Switzerland August 1991 Proceedings Lncs 525

Authors: Oliver Gunther ,Hans-Jorg Schek

1st Edition

3540544143, 978-3540544142

More Books

Students also viewed these Databases questions

Question

Discuss the various types of policies ?

Answered: 1 week ago

Question

Briefly explain the various types of leadership ?

Answered: 1 week ago

Question

Explain the need for and importance of co-ordination?

Answered: 1 week ago

Question

Explain the contribution of Peter F. Drucker to Management .

Answered: 1 week ago