Skip to content

441. Arranging Coins

Math Binary Search

Problem - Arranging Coins

Easy

You have n coins and you want to build a staircase with these coins. The staircase consists of k rows where the ith row has exactly i coins. The last row of the staircase may be incomplete.

Given the integer n, return the number of complete rows of the staircase you will build.

 

Example 1:

Input: n = 5
Output: 2
Explanation: Because the 3rd row is incomplete, we return 2.

Example 2:

Input: n = 8
Output: 3
Explanation: Because the 4th row is incomplete, we return 3.

 

Constraints:

  • 1 <= n <= 231 - 1

Solutions

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
class Solution:
    def arrangeCoins(self, n: int) -> int:
        left, right = 1, n
        while right > left:
            mid = (left + right + 1) // 2

            if (mid + 1) * mid // 2 <= n:
                left = mid
            else:
                right = mid - 1
        return right

Submission Stats:

  • Runtime: 3 ms (64.61%)
  • Memory: 17.6 MB (96.43%)