#3582
Generate Tag for Video Caption
EasyStringSimulationString ManipulationCharacter Processing
Approaches
Brute ForceOptimal
Complexity Comparison
| Brute Force | Optimal Solution★ | |
|---|---|---|
| Time | O(n²) | O(n) |
| Space | O(1) | O(n) |
💡
Intuition
Time O(n)Space O(n)
This approach processes the string in a single pass, efficiently cleaning and formatting it without unnecessary iterations.
⚙️
Algorithm
3 steps- 1Step 1: Initialize an empty result string with '#'.
- 2Step 2: Iterate through each character, building words and applying camelCase formatting.
- 3Step 3: Append the formatted words to the result and truncate to 100 characters.
solution.py13 lines
1def generate_tag(caption):
2 result = '#'
3 word = ''
4 for char in caption:
5 if char.isalpha():
6 word += char.lower()
7 else:
8 if word:
9 result += word[0] + word[1:].capitalize()
10 word = ''
11 if word:
12 result += word[0] + word[1:].capitalize()
13 return result[:100]ℹ
Complexity note: The optimal solution processes each character once, making it linear in time complexity.
- 1CamelCase formatting requires careful handling of word boundaries.
- 2Removing non-letter characters is crucial for valid tags.
Solutions and explanations are original Tejav content. Problem titles © LeetCode — use the LeetCode button above for the full problem statement.