nyoj_36_最长公共子序列

来源:互联网 发布:淘宝按销量排名不对 编辑:程序博客网 时间:2024/06/03 23:06

题目:http://acm.nyist.net/JudgeOnline/problem.php?pid=36

import java.util.Scanner;public class Main {public static void main(String[] args) {Scanner sc = new Scanner(System.in);int n = sc.nextInt();while(n-->0){char[] arr1 = sc.next().toCharArray();char[] arr2 = sc.next().toCharArray();int res[][] = new int[arr1.length+1][arr2.length+1];opt(arr1,arr2,res);}}private static void opt(char[] arr1, char[] arr2,int[][] res) {int maxNum = 0;for (int i = 1; i <= arr1.length; i++) {for (int j = 1; j <= arr2.length; j++) {if(arr1[i-1]==arr2[j-1]){res[i][j]=res[i-1][j-1]+1;}else{res[i][j]=max(res[i-1][j],res[i][j-1]);}maxNum=max(res[i][j],maxNum);}}System.out.println(maxNum);}private static int max(int i, int j) {return i-j>0?i:j;}}


0 0