classSolution: defarrangeCoins(self, n: int) -> int: left = 1 right = n defsearch_II(left,right): while left<=right: half = (left+right)//2 if (half+1)*half//2 <= n and n < (half+1)*(half+2)//2: return half elif n < (half+1)*half//2: return search_II(left,half-1) else: return search_II(half+1,right) return search_II(left,right)