Class CombinationIterator
- java.lang.Object
-
- g1201_1300.s1286_iterator_for_combination.CombinationIterator
-
public class CombinationIterator extends Object
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 Constructor Description CombinationIterator(String characters, int combinationLength)
-