We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
2 parents f25ac46 + 6025997 commit 4cdfa95Copy full SHA for 4cdfa95
pyrival/data_structures/SortedList.py
@@ -64,13 +64,12 @@ class SortedList:
64
block_size = 700
65
66
def __init__(self, iterable=()):
67
- self.macro = []
68
- self.micros = [[]]
69
- self.micro_size = [0]
70
- self.fenwick = FenwickTree([0])
71
- self.size = 0
72
- for item in iterable:
73
- self.insert(item)
+ iterable = sorted(iterable)
+ self.micros = [iterable[i:i + self.block_size - 1] for i in range(0, len(iterable), self.block_size - 1)] or [[]]
+ self.macro = [i[0] for i in self.micros[1:]]
+ self.micro_size = [len(i) for i in self.micros]
+ self.fenwick = FenwickTree(self.micro_size)
+ self.size = len(iterable)
74
75
def insert(self, x):
76
i = lower_bound(self.macro, x)
0 commit comments