classSolution:defcountTestedDevices(self, batteryPercentages: List[int])->int:
d = ans =0for i inrange(len(batteryPercentages)):if batteryPercentages[i]- d>0:
ans +=1
d +=1return ans
classSolution:defcountSubarrays(self, nums: List[int], k:int)->int:
mx =max(nums)
l =0
cnt = Counter()
ans =0for i,v inenumerate(nums):
cnt[v]+=1while cnt[mx]>= k:
cnt[nums[l]]-=1
l +=1
ans += l
return ans
classSolution:defnumberOfGoodPartitions(self, nums: List[int])->int:
g ={}for i,v inenumerate(nums):if v notin g:
g[v]=[i,0]
g[v][1]= i
lr =sorted(g.values())
c =1
x,y = lr[0]for l,r in lr:if l > y:
x = l
c +=1
y =max(y, r)returnpow(2,c-1,10**9+7)