# ---
# jupyter:
#   jupytext:
#     text_representation:
#       extension: .py
#       format_name: light
#       format_version: '1.5'
#       jupytext_version: 1.14.4
#   kernelspec:
#     display_name: Python 3
#     language: python
#     name: python3
# ---

# + active=""
# 说明：
#     给定字符串s，返回给定字符串可拆分为的唯一子字符串的最大数量。
#     您可以将字符串s拆分为任何非空子字符串列表，
#     其中子字符串的串联构成了原始字符串。
#     但是，必须拆分子字符串，以使所有子字符串都是唯一的。
#     子字符串是字符串中连续的字符序列。
#
# Example 1:
#     Input: 
#             s = "ababccc"
#     Output: 
#             5
#     Explanation: 
#         One way to split maximally is ['a', 'b', 'ab', 'c', 'cc']. 
#         Splitting like ['a', 'b', 'a', 'b', 'c', 'cc'] is not valid as you have 'a' and 'b' multiple times.
#
# Example 2:
#     Input: s = "aba"
#     Output: 2
#     Explanation: One way to split maximally is ['a', 'ba'].
#
# Example 3:
#     Input: s = "aa"
#     Output: 1
#     Explanation: It is impossible to split the string any further.
#
# Constraints:
#     1、1 <= s.length <= 16
#     2、s contains only lower case English letters.
# -



StarcoderdataJupyterScriptsDedupFiltered