---
# System prepended metadata

title: 2207. Maximize Number of Subsequences in a String
tags: [Leetcode, Medium, Greedy]

---

# 2207. Maximize Number of Subsequences in a String
###### tags: `Leetcode` `Medium` `Greedy`
Link: https://leetcode.com/problems/maximize-number-of-subsequences-in-a-string/description/
## 思路
如果我们加pattern[0] 最好的方法是把它加到text的最前面
如果我们加pattern[1] 最好的方法是把它加到text的最后面
我们先数出text里面有多少个subsequence和pattern一样
然后我们看pattern[0]和pattern[1]哪个比较多 就把另外一个加进text里面
要注意如果pattern是两个重复字母的特殊处理
## Code
```java=
class Solution {
    public long maximumSubsequenceCount(String text, String pattern) {
        long res = 0, cnt1 = 0, cnt2 = 0;
        for(int i=0; i<text.length(); i++){
            if(text.charAt(i)==pattern.charAt(1)){
                cnt2++;
                res += cnt1;
            }
            if(text.charAt(i)==pattern.charAt(0)){
                cnt1++;
            }
        }
        return res+Math.max(cnt1, cnt2);
    }
}
```