Ctrl K
Java · Mid-level · Coding

Write a class FlatIterator that takes a list of lists of integers and implements the Iterator interface: hasNext tells you whether there are elements left, and next returns the next number, going through all the nested lists in order. You're not allowed to copy all the elements into one combined list up front.

~15 min by voice

How to approach it

The interviewer is checking whether you can implement a lazy, stateful iterator: correctly keep two levels of iteration, skip empty nested lists, and follow the Iterator contract: an idempotent hasNext, next without a prior hasNext, NoSuchElementException at the end.

Have you seen this question in a real interview?
Answers0
Avg. score—
Strong—
Practiced0
Topics
Similar questionsImplement an LruCache class with a fixed capacity passed to the constructor. The get method returns the value for a key or null, the put method stores a key-value pair, and when the cache overflows, the element that hasn't been accessed for the longest time is evicted. Both operations must run in constant time. Mid-levelWhat's the difference between ArrayList and LinkedList, and when would you choose each? JuniorHow does a HashMap work internally? What happens when you call put? JuniorWhat is the equals and hashCode contract, and what happens if you break it? JuniorExplain how HashMap works internally, and what happens if you put an object in as a key and then change a field that's used in hashCode. Mid-level

Answer by voice

The interviewer will ask this question and listen. Think out loud and ask for a hint if you need one. When you're done, pause or tap “That's my answer”. In about a minute, your score and the points you covered show up here.

Sign in to answer

Best with headphones · ~15 min