Code RoomCount shift groups
MediumPrep Room Coding #734

Count shift groups

CodingAlgorithms & data structuresMid–Senior~25 min

Two strings belong to the same shift group if one can be turned into the other by shifting every letter the same number of positions forward through the alphabet with wraparound (so "abc" -> "bcd" -> ... -> "xyz" -> "yza"; for example "az" and "ba" are in the same group because each letter advances by 1 with 'z' wrapping to 'a'). Given a list of lowercase strings, return the number of distinct shift groups. Strings of different lengths are never in the same group. The list may be empty.

Implement
num_shift_groups(strings: list[str]) → int
Examples
in[["abc","bcd","acef","xyz","az","ba","a","z"]]out4
What a strong answer looks like

State your approach and its time/space complexity out loud before you optimize. Handle the edge cases (empty input, duplicates, overflow), and say why you chose this over the brute force. Green tests are the floor, not the grade.

0:00 of about 25 min
InputExpectedGot
[["abc","bcd","acef","xyz","az","ba","a","z"]]4not run yetsample