leetcode-15双周赛-1286-字母组合迭代器
Posted 真不知道叫啥好
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了leetcode-15双周赛-1286-字母组合迭代器相关的知识,希望对你有一定的参考价值。
题目描述:
方法:
class CombinationIterator: def __init__(self, characters: str, combinationLength: int): self.s = characters self.pos = [x for x in range(combinationLength)] self.finished = False def next(self) -> str: ans = "".join([self.s[p] for p in self.pos]) i = -1 for k in range(len(self.pos) - 1, -1, -1): if self.pos[k] != len(self.s) - len(self.pos) + k: i = k break if i == -1: self.finished = True else: self.pos[i] += 1 for j in range(i + 1, len(self.pos)): self.pos[j] = self.pos[j - 1] + 1 return ans def hasNext(self) -> bool: return not self.finished # Your CombinationIterator object will be instantiated and called as such: # obj = CombinationIterator(characters, combinationLength) # param_1 = obj.next() # param_2 = obj.hasNext()
以上是关于leetcode-15双周赛-1286-字母组合迭代器的主要内容,如果未能解决你的问题,请参考以下文章
leetcode-15双周赛-1287-有序数组中出现次数超过25%的元素
LeetCode 第 59 场力扣夜喵双周赛(最短路径数+迪杰斯特拉动态规划+最长公共前缀问题) / 第255场周赛(二进制转换,分组背包,子集还原数组(脑筋急转弯))