Implement distinct islands and sliding maxima
Company: TikTok
Role: Software Engineer
Category: Coding & Algorithms
Difficulty: Medium
Interview Round: Technical Screen
1) Given a binary grid where 1 represents land and 0 represents water, count how many distinct island shapes exist. Two islands are considered the same if one can be translated (shifted) to match the other; rotations and reflections should be treated as different. Implement an algorithm that returns the count and analyze its time and space complexity. Then discuss how you would extend the method if rotations and reflections were also considered equivalent.
2) Given an integer array and a window size k, return the maximum value for every contiguous subarray of length k. Implement an O(n) solution and explain why it is linear. Compare this approach to a heap-based method and discuss trade-offs.
Quick Answer: This question evaluates algorithm design and data-structure skills, specifically grid/graph traversal and shape-normalization for counting distinct island patterns and sliding-window maximum computation with linear-time data structures versus heap-based methods, categorized under Coding & Algorithms for a Software Engineer role.