You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

关于Leetcode Unique Letter String问题的子串概念疑问

关于Leetcode Unique Letter String问题中子串概念的解答

嘿,我来帮你理清这个疑惑!你之所以困惑,是因为把*子串(substring)和子序列(subsequence)*的概念搞混啦。

首先明确核心定义:

  • 子串 是原字符串中连续的字符片段,必须是原字符串里一段没有间隔的连续区间,不能跳过中间的任何字符。
  • 子序列 则允许跳过中间字符,只要字符的相对顺序和原字符串一致即可(比如"AC"就是"ABC"的子序列,但不是子串)。

回到题目里的输入"ABC",所有合法的子串都是连续的:

  • 长度为1的子串:"A"、"B"、"C"
  • 长度为2的子串:"AB"(从第1个字符到第2个字符,连续)、"BC"(从第2个字符到第3个字符,连续)
  • 长度为3的子串:"ABC"(整个字符串,连续)

接下来计算每个子串的唯一字母数量:

  • 长度为1的子串每个都只有1个唯一字母,总和是 1+1+1=3
  • 长度为2的子串中,"AB"的两个字母都是唯一的(各出现1次),得2;"BC"同理得2,总和是2+2=4
  • 长度为3的子串"ABC"三个字母都唯一,得3

把这些加起来:3+4+3=10,正好和题目给出的结果一致。

以后遇到类似问题,只要记住子串必须是连续的,就不会再混淆啦!

内容的提问来源于stack exchange,提问作者Ufder

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 09:17:38