3582. 为视频标题生成标签
题目描述
给你一个字符串 caption
,表示一个视频的标题。
需要按照以下步骤 按顺序 生成一个视频的 有效标签 :
-
将 所有单词 组合为单个 驼峰命名字符串 ,并在前面加上
'#'
。驼峰命名字符串 指的是除第一个单词外,其余单词的首字母大写,且每个单词的首字母之后的字符必须是小写。 -
移除 所有不是英文字母的字符,但 保留 第一个字符
'#'
。 -
将结果 截断 为最多 100 个字符。
对 caption
执行上述操作后,返回生成的 标签 。
示例 1:
输入: caption = "Leetcode daily streak achieved"
输出: "#leetcodeDailyStreakAchieved"
解释:
除了 "leetcode"
以外的所有单词的首字母需要大写。
示例 2:
输入: caption = "can I Go There"
输出: "#canIGoThere"
解释:
除了 "can"
以外的所有单词的首字母需要大写。
示例 3:
输入: caption = "hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh"
输出: "#hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh"
解释:
由于第一个单词长度为 101,因此需要从单词末尾截去最后两个字符。
提示:
1 <= caption.length <= 150
caption
仅由英文字母和' '
组成。
解法
方法一:模拟
我们首先将标题字符串分割成单词,然后对每个单词进行处理。第一个单词需要全部小写,后续的单词首字母大写,其余部分小写。接着,我们将所有处理后的单词连接起来,并在前面加上 #
符号。最后,如果生成的标签长度超过 100 个字符,则截断为前 100 个字符。
时间复杂度 \(O(n)\),空间复杂度 \(O(n)\),其中 \(n\) 是标题字符串的长度。
1 2 3 4 5 6 |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
|