题目描述:
代码如下:
class Solution {
public int arrangeCoins(int n) {
//二分法
long left=0;
long right=n;
while(left<=right){
long mid=left+(right-left)/2;
if((mid*(mid+1))/2==n){
return (int)mid;
}
else if((mid*(mid+1))/2<n){
left=mid+1;
}else{
right=mid-1;
}
}
return (int)right; //退出循环的时候 left大于right 我们需要的是左边的值,所以return right
}
}