Class CombinationIterator
java.lang.Object
g1201_1300.s1286_iterator_for_combination.CombinationIterator
1286 - Iterator for Combination.
Medium
Design the CombinationIterator
class:
CombinationIterator(string characters, int combinationLength)
Initializes the object with a stringcharacters
of sorted distinct lowercase English letters and a numbercombinationLength
as arguments.next()
Returns the next combination of lengthcombinationLength
in lexicographical order.hasNext()
Returnstrue
if and only if there exists a next combination.
Example 1:
Input [“CombinationIterator”, “next”, “hasNext”, “next”, “hasNext”, “next”, “hasNext”] [[“abc”, 2], [], [], [], [], [], []]
Output: [null, “ab”, true, “ac”, true, “bc”, false]
Explanation: CombinationIterator itr = new CombinationIterator(“abc”, 2); itr.next(); // return “ab” itr.hasNext(); // return True itr.next(); // return “ac” itr.hasNext(); // return True itr.next(); // return “bc” itr.hasNext(); // return False
Constraints:
1 <= combinationLength <= characters.length <= 15
- All the characters of
characters
are unique. - At most
104
calls will be made tonext
andhasNext
. - It is guaranteed that all calls of the function
next
are valid.
-
Constructor Summary
Constructors -
Method Summary
-
Constructor Details
-
CombinationIterator
-
-
Method Details
-
next
-
hasNext
public boolean hasNext()
-