Golang:
思路:这题最优当然是用数学方法解,这里说个普通思路,即从i等于1开始,1+2+3+4....,直到n小于这个总和为止,但这里需要注意溢出问题,即万一1+2+3+4....超过某个临界值(即大于int类型的最大值),而n并没有超过,就会出现溢出错误。所以,在做此类问题时,需要注意:做减法会好过加法。
代码如下:
func arrangeCoins(n int) int {
//如果考虑溢出问题,减法胜过加法
i:=1
res:=0
for n>=i {
res++
n=n-i
i++
}
return res
}
有疑问加站长微信联系(非本文作者)