Skip to main content

Command Palette

Search for a command to run...

Leetcode 2486. Append Characters to String to Make Subsequence

Updated
1 min read
K

I am a developer from Nashville, TN. I specialize in the .NET tech stack. I have created many projects in Blazor WASM, Xamarin, MAUI, etc.

Intuition

Get the length of the subsequence (if any) and subtract it from the length of t to find out how many characters we have to append (if any)

Approach

Keep a count of the length of the subsequence while iterating through s and then subtract the length of the subsequence from the length of t

Code

public class Solution 
{
    public int AppendCharacters(string s, string t) 
    {   //position of the last character that forms a subsequence
        int pos = 0;
        //iterate through s
        for(int i = 0; i < s.Length; i++)
        {
            //if the position of the last character that forms a
            //subsequence is >= the length of t, it is already a
            //subsequence so we return 0
            if(pos >= t.Length)
            {
                return 0;
            }
            //otherwise we increment pos
            else if(s[i] == t[pos])
            {
                pos++;
            }
        }
        //once we reach the end of s we have calculated the length
        //of the subsequence and can subtract it from the remaining 
        //characters in t so we know how many characters to append
        return t.Length - pos;
    }