441. Arranging Coins

You have a total of n coins that you want to form in a staircase shape, where every k-th row must have exactly k coins.

Given n, find the total number of full staircase rows that can be formed.

n is a non-negative integer and fits within the range of a 32-bit signed integer.

Example 1:

n = 5

The coins can form the following rows:
¤
¤ ¤
¤ ¤

Because the 3rd row is incomplete, we return 2.

 

Example 2:

n = 8

The coins can form the following rows:
¤
¤ ¤
¤ ¤ ¤
¤ ¤

Because the 4th row is incomplete, we return 3.

每增加一层,星星就多一个,而n就要多减上一层的星星数+1,最后n不够减了说明最后一层不作数。

1 int arrangeCoins(int n) {
2     int i=0;
3     while(n>0){
4         i+=1;
5         n-=i;
6     }
7     return n==0?i:i-1;
8 }

 

posted @ 2018-10-17 00:00  杜王町上班族  阅读(139)  评论(0编辑  收藏  举报