只是问你 n能不能写成m*(m+1)的形式,注意可能会溢出这件事情就好了。
class Solution {
public int arrangeCoins(int n) {
double num = (double)n;
num*=2;
long base = (long)Math.sqrt(num);
if(num>=(base*(base+1)))
return (int)base;
return (int)base-1;
}
}
网友评论