Is Subsequence

Problem

Given two strings s and t, return true if s is a subsequence of t, or false otherwise.

A subsequence of a string is a new string that is formed from the original string by deleting some (can be none) of the characters without disturbing the relative positions of the remaining characters. (i.e., “ace” is a subsequence of “abcde” while “aec” is not).

Example 1:

Input: s = "abc", t = "ahbgdc"
Output: true

Example 2:

Input: s = "axc", t = "ahbgdc"
Output: false

Constraints:

  • 0 <= s.length <= 100
  • 0 <= t.length <= 104
  • s and t consist only of lowercase English letters.

Follow up: Suppose there are lots of incoming s, say s1, s2, …, sk where k >= 109, and you want to check one by one to see if t has its subsequence. In this scenario, how would you change your code?

Solution

class Solution {
    public boolean isSubsequence(String s, String t) {
        var t_i = 0;
        for (var s_c : s.toCharArray()) {
            var found = false;
            while (t_i < t.length()) {
                if (s_c == t.charAt(t_i)) {
                    found = true;
                }
                t_i += 1;
                if (found) {
                    break;
                }
            }
            if (!found) {
                return false;
            }
        }
        return true;
    }
}

Recent posts from blogs that I like

Great Ladies of Impressionism: Berthe Morisot 1874-1891

Her turning point in 1874 - rejected from the Salon, joining the first Impressionist Exhibition, and marrying Édouard Manet's brother. How those changed art.

via The Eclectic Light Company

AI inference is obviously profitable

Many people claim that AI inference is unprofitable to serve, and thus must be subsidized by an ocean of dumb money from investors who believe that some future AI model will come to dominate the world economy. When that dumb money goes away, so will AI products. According to this view, LLMs are just...

via Sean Goedecke

Escaping Flatland meetups summer 2026: times and places

There has been a flurry of activity in the chat over the last two months, and we now have meetups arranged in 47 cities in 22 countries!

via Henrik Karlsson