Amazon Interview Question
Software Engineer / Developerszoom3:
aaaa aaab abaa abab baba babb bbba bbbb
aaac aaad abac abad babc babd bdba bdbb
acaa acab adaa adab bcba bcbb bdba bdbb
acac acad adac adad bcbc bcbd bdbc bdbd
caca cacb cbca cbcb dada dadb dbda dbda
cacc cacd cbcc cbcd dadc dadd dbdc dbdd
ccca cccb cdca cdcb dcda dcdb ddda dddb
cccc cccd cdcc cdcd dcdc dcdd dddc dddd
Start from the right most position and move towards left doing this:
1. if current letter is b or d, change to a or c respectively and break (nothing else to do).
2. If current letter is a or c change to b or d respectively and instead of breaking you need scan the next character to your left. Go to (1) for the next left character.
E.g. if your current sequence is cdca, then start from right: change a to b and go to next left. change c to d and move left, change d to c and break (as per point 1). So your sequence is ccdb
Idea is that when you zoom, your first character keeps rotating between a and b, once done it starts repeating your next character to left (aa ab ba bb) so on. So traverse back to get your left sequence for a given sequence.
Looks like the line did not wrap. So copying again.
1. if current letter is b or d, change to a or c respectively and break (nothing else to do).
2. If current letter is a or c change to b or d respectively and
instead of breaking you need scan the next character to your left. Go to (1) for the next left character.
Shouldn't Zoom 3 be this ?
aaaa aaab abba abbb baaa baab bbba bbbb
aaac aaad abbc abbd baac baad bbbc bbbd
acca accb adda addb bcca bccb bdda bddb
accc accd addc addd bccc bccd bddc bddd
caaa caab cbba cbbb daaa daab dbba dbbb
caac caad cbbc cbbd daac daad dbbc dbbd
ccca cccb cdda cddb dcca dccb ddda dddb
cccc cccd cddc cddd dccc dccd dddc dddd
[correction] read zoom2 as:
- pmaur March 05, 2011aa ab ba bb
ac ad bc bd
ca cb da db
cc cd dc dd