Leetcode1143. 最长公共子序列(c#)

 Leetcode1143. 最长公共子序列(c#)

题解:力扣

public class Solution
 {
    public int LongestCommonSubsequence(string text1, string text2)
    {
        int num1 = text1.Length;
        int num2 = text2.Length;
        int[,] dp = new int[num1 + 1,  num2 + 1];
        for(int i = 0; i < num1; i++)
        {
            for(int j = 0; j < num2; j++)
            {
                if(text1[i] == text2[j])
                {
                    dp[i + 1, j + 1] = dp[i, j] + 1;
                }
                else
                {
                    dp[i + 1, j + 1] = Max(dp[i, j + 1], dp[i + 1, j]);
                }
            }

        }
        return dp[num1, num2];
    }

    private int Max(int a, int b)
    {
        if(a > b)
            return a;
        else
            return b;    
    }

}

上一篇:Array基础


下一篇:对list集合重新排序