Compute letter frequencies from encoded string
Company: Oracle
Role: Software Engineer
Category: Coding & Algorithms
Difficulty: medium
Interview Round: Technical Screen
## Problem
You are given an encoded string `s` representing a string of lowercase English letters (`a`–`z`). The encoding follows these rules:
1. Letters `a` to `i` are encoded as digits `1` to `9`.
- `a -> "1"`, `b -> "2"`, …, `i -> "9"`
2. Letters `j` to `z` are encoded as two digits followed by `#`.
- `j -> "10#"`, `k -> "11#"`, …, `z -> "26#"`
3. If a letter repeats **consecutively** `k >= 2` times, the repetition is encoded by appending `"(k)"` immediately after that letter’s code.
- Example: `"aa" -> "1(2)"`, `"ccc" -> "3(3)"`, `"jj" -> "10#(2)"`
### Task
Return an integer array `counts` of length 26, where `counts[0]` is the number of `'a'` characters in the decoded string, `counts[1]` is the number of `'b'`, …, and `counts[25]` is the number of `'z'`.
### Examples
- `s = "1226#24#"` decodes to `"abzx"`.
- `s = "1(2)23(3)"` decodes to `"aabccc"`.
- `s = "2110#(2)"` decodes to `"bajj"`.
- `s = "23#(2)24#25#26#23#(3)"` decodes to `"wwxyzwww"`.
### Input/Output
- **Input:** a string `s` consisting of digits, `#`, `(`, and `)` that follows the encoding rules above.
- **Output:** an array of 26 integers with letter frequencies.
### Notes / Constraints (reasonable interview assumptions)
- `s` is validly encoded.
- Counts in parentheses can be multiple digits (e.g., `(12)`).
- Aim for `O(|s|)` time and `O(1)` extra space (excluding the output array).
Quick Answer: This question evaluates proficiency in string parsing and frequency aggregation, specifically handling mixed-length encodings, tokenization of digits and '#' markers, and parsing numeric repetition counts while respecting linear-time and constant-space constraints.