mirror of
				https://gitee.com/coder-xiaomo/leetcode-problemset
				synced 2025-11-04 11:43:12 +08:00 
			
		
		
		
	国外版
This commit is contained in:
		
							
								
								
									
										37
									
								
								算法题(国外版)/iterator-for-combination.html
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										37
									
								
								算法题(国外版)/iterator-for-combination.html
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,37 @@
 | 
			
		||||
<p>Design the <code>CombinationIterator</code> class:</p>
 | 
			
		||||
 | 
			
		||||
<ul>
 | 
			
		||||
	<li><code>CombinationIterator(string characters, int combinationLength)</code> Initializes the object with a string <code>characters</code> of <strong>sorted distinct</strong> lowercase English letters and a number <code>combinationLength</code> as arguments.</li>
 | 
			
		||||
	<li><code>next()</code> Returns the next combination of length <code>combinationLength</code> in <strong>lexicographical order</strong>.</li>
 | 
			
		||||
	<li><code>hasNext()</code> Returns <code>true</code> if and only if there exists a next combination.</li>
 | 
			
		||||
</ul>
 | 
			
		||||
 | 
			
		||||
<p> </p>
 | 
			
		||||
<p><strong>Example 1:</strong></p>
 | 
			
		||||
 | 
			
		||||
<pre>
 | 
			
		||||
<strong>Input</strong>
 | 
			
		||||
["CombinationIterator", "next", "hasNext", "next", "hasNext", "next", "hasNext"]
 | 
			
		||||
[["abc", 2], [], [], [], [], [], []]
 | 
			
		||||
<strong>Output</strong>
 | 
			
		||||
[null, "ab", true, "ac", true, "bc", false]
 | 
			
		||||
 | 
			
		||||
<strong>Explanation</strong>
 | 
			
		||||
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
 | 
			
		||||
</pre>
 | 
			
		||||
 | 
			
		||||
<p> </p>
 | 
			
		||||
<p><strong>Constraints:</strong></p>
 | 
			
		||||
 | 
			
		||||
<ul>
 | 
			
		||||
	<li><code>1 <= combinationLength <= characters.length <= 15</code></li>
 | 
			
		||||
	<li>All the characters of <code>characters</code> are <strong>unique</strong>.</li>
 | 
			
		||||
	<li>At most <code>10<sup>4</sup></code> calls will be made to <code>next</code> and <code>hasNext</code>.</li>
 | 
			
		||||
	<li>It is guaranteed that all calls of the function <code>next</code> are valid.</li>
 | 
			
		||||
</ul>
 | 
			
		||||
		Reference in New Issue
	
	Block a user