classSolution:defconvertToBase7(self, num:int)->str:if num ==0:return'0'
ans =''
flag =0if num <0:
flag =1
num =-num
while num:
ans =str(num %7)+ ans
num //=7return('-'if flag else'')+ ans
classSolution:def__init__(self, w: List[int]):
self.pre_sum = w[:]for i inrange(1,len(w)):
self.pre_sum[i]+= self.pre_sum[i -1]
self.n = self.pre_sum[-1]defpickIndex(self)->int:
x = random.randint(1, self.n)
l, r =0,len(self.pre_sum)-1while l < r:
mid =(l + r)//2if self.pre_sum[mid]<= x -1:
l = mid +1else: r = mid
return l
# Your Solution object will be instantiated and called as such:# obj = Solution(w)# param_1 = obj.pickIndex()