PracHub
QuestionsPremiumCoachesLearningGuidesInterview Prep

Quick Overview

Decompress an encoded string evaluates algorithm design, data structures, correctness, complexity, edge cases, and implementation details in a realistic interview setting. A strong answer states assumptions, handles edge cases, explains trade-offs, and shows how to validate the result clearly.

  • Medium
  • C3 AI
  • Coding & Algorithms
  • Data Scientist

Decompress an encoded string

Company: C3 AI

Role: Data Scientist

Category: Coding & Algorithms

Difficulty: Medium

Interview Round: Onsite

# Decompress an encoded string Given an encoded string, return its decoded (decompressed) form. Use the following encoding rule: - A positive integer \(k\) followed by a bracketed substring means the substring is repeated \(k\) times. - Encodings can be nested. Examples: - Input: `"3[a]2[bc]"` → Output: `"aaabcbc"` - Input: `"3[a2[c]]"` → Output: `"accaccacc"` - Input: `"2[abc]3[cd]ef"` → Output: `"abcabccdcdcdef"` Assume: - The input is valid. - Digits only appear as repeat counts. Return the decoded string. ### Constraints & Assumptions - Preserve the scope, facts, inputs, and requested outputs from the prompt above. - If the prompt leaves a detail unspecified, state a reasonable assumption before relying on it. - Keep the answer interview-ready: concise enough to present, but concrete enough to implement or evaluate. ### Clarifying Questions to Ask - Clarify input sizes, value ranges, mutability, return format, and tie-breaking. - State the target time and space complexity before coding. - Call out edge cases such as empty inputs, duplicates, invalid values, overflow, and boundary sizes. ### What a Strong Answer Covers - A clear algorithm with the right data structures and enough pseudocode or code-level detail to implement it. - A correctness argument that explains why the algorithm covers all required cases. - Time and space complexity, plus at least one alternative approach when relevant. - Focused tests for normal cases, edge cases, and failure modes. ### Follow-up Questions - How would the approach change if the input were streaming or too large for memory? - What invariants would you assert in production code? - Which tests would catch off-by-one, duplicate, or tie-breaking bugs?

Quick Answer: Decompress an encoded string evaluates algorithm design, data structures, correctness, complexity, edge cases, and implementation details in a realistic interview setting. A strong answer states assumptions, handles edge cases, explains trade-offs, and shows how to validate the result clearly.

Decode strings where k[substring] repeats substring k times, including nested encodings.

Constraints

  • Inputs are Python literals matching the function signature.
  • Return a deterministic exact-match value.

Examples

Input: ('3[a]2[bc]',)

Expected Output: 'aaabcbc'

Explanation: Simple repeated groups.

Input: ('3[a2[c]]',)

Expected Output: 'accaccacc'

Explanation: Nested encodings are decoded inside out.

Input: ('2[abc]3[cd]ef',)

Expected Output: 'abcabccdcdcdef'

Explanation: Literal suffixes are preserved.

Input: ('10[a]',)

Expected Output: 'aaaaaaaaaa'

Explanation: Multi-digit repeat counts are supported.

Hints

  1. Use stacks for repeat counts and previous strings.
  2. Build the current decoded segment until a closing bracket.
Last updated: Jun 27, 2026

Related Coding Questions

  • Find longest substring with at least k repeats - C3 AI (Hard)

Loading coding console...

PracHub

Master your tech interviews with 8,000+ real questions from top companies.

Product

  • Questions
  • Learning Tracks
  • Interview Guides
  • Resources
  • Premium
  • For Universities
  • Student Access

Browse

  • By Company
  • By Role
  • By Category
  • Topic Hubs
  • SQL Questions
  • Compare Platforms
  • Discord Community

Support

  • support@prachub.com
  • (916) 541-4762

Legal

  • Privacy Policy
  • Terms of Service
  • About Us

© 2026 PracHub. All rights reserved.