441. 排列硬币

1
2
3
4
5
6
7
8
9
10
11
12
13
14
class Solution:
def arrangeCoins(self, n: int) -> int:
left = 1
right = n
def search_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)