cp-library

This documentation is automatically generated by online-judge-tools/verification-helper

View the Project on GitHub kobejean/cp-library

:heavy_check_mark: cp_library/alg/iter/slice_iterator_reverse_cls.py

Required by

Verified with

Code

import cp_library.alg.iter.__header__
from typing import Iterator, SupportsIndex
from cp_library.misc.typing import _T

class SliceIteratorReverse(Iterator[_T]):
    def __init__(self, A: list[_T], L: list[SupportsIndex]):
        self.A, self.L, self.r = A, L, len(A)
    def __len__(self): return len(self.L)
    def __next__(self):
        L = self.L
        if not L: raise StopIteration
        self.r, r = (l := L.pop()), self.r
        return self.A[l:r]
'''
╺━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╸
             https://kobejean.github.io/cp-library               
'''
from typing import Iterator, SupportsIndex
from typing import TypeVar
_T = TypeVar('T')

class SliceIteratorReverse(Iterator[_T]):
    def __init__(self, A: list[_T], L: list[SupportsIndex]):
        self.A, self.L, self.r = A, L, len(A)
    def __len__(self): return len(self.L)
    def __next__(self):
        L = self.L
        if not L: raise StopIteration
        self.r, r = (l := L.pop()), self.r
        return self.A[l:r]
Back to top page