zoukankan      html  css  js  c++  java
  • [Swift]LeetCode1286. 字母组合迭代器 | Iterator for Combination

    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★
    ➤微信公众号:山青咏芝(let_us_code)
    ➤博主域名:https://www.zengqiang.org
    ➤GitHub地址:https://github.com/strengthen/LeetCode
    ➤原文地址:https://www.cnblogs.com/strengthen/p/12151590.html
    ➤如果链接不是山青咏芝的博客园地址,则可能是爬取作者的文章。
    ➤原文已修改更新!强烈建议点击原文地址阅读!支持作者!支持原创!
    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★

    Design an Iterator class, which has:

    A constructor that takes a string characters of sorted distinct lowercase English letters and a number combinationLength as arguments.
    A function next() that returns the next combination of length combinationLength in lexicographical order.
    A function hasNext() that returns True if and only if there exists a next combination.
     

    Example:

    CombinationIterator iterator = new CombinationIterator("abc", 2); // creates the iterator.

    iterator.next(); // returns "ab"
    iterator.hasNext(); // returns true
    iterator.next(); // returns "ac"
    iterator.hasNext(); // returns true
    iterator.next(); // returns "bc"
    iterator.hasNext(); // returns false
     

    Constraints:

    1 <= combinationLength <= characters.length <= 15
    There will be at most 10^4 function calls per test.
    It's guaranteed that all calls of the function next are valid.


    请你设计一个迭代器类,包括以下内容:

    一个构造函数,输入参数包括:一个 有序且字符唯一 的字符串 characters(该字符串只包含小写英文字母)和一个数字 combinationLength 。
    函数 next() ,按 字典序 返回长度为 combinationLength 的下一个字母组合。
    函数 hasNext() ,只有存在长度为 combinationLength 的下一个字母组合时,才返回 True;否则,返回 False。
     

    示例:

    CombinationIterator iterator = new CombinationIterator("abc", 2); // 创建迭代器 iterator

    iterator.next(); // 返回 "ab"
    iterator.hasNext(); // 返回 true
    iterator.next(); // 返回 "ac"
    iterator.hasNext(); // 返回 true
    iterator.next(); // 返回 "bc"
    iterator.hasNext(); // 返回 false
     

    提示:

    1 <= combinationLength <= characters.length <= 15
    每组测试数据最多包含 10^4 次函数调用。
    题目保证每次调用函数 next 时都存在下一个字母组合。

  • 相关阅读:
    《把时间当作朋友》读书笔记
    Oracle&SQLServer中实现跨库查询
    Android学习——界面互调2
    《IT不再重要》读后感
    Android学习——数据存储
    Android学习——编写菜单
    Android学习——后台程序
    Android学习——写个小实例
    Android学习——界面编程!
    深入理解JavaScript系列(42):设计模式之原型模式
  • 原文地址:https://www.cnblogs.com/strengthen/p/12151590.html
Copyright © 2011-2022 走看看