441. Arranging Coins
来源:互联网 发布:js左右拖动滑块插件 编辑:程序博客网 时间:2024/06/05 04:36
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 = 5The coins can form the following rows:¤¤ ¤¤ ¤Because the 3rd row is incomplete, we return 2.
Example 2:
n = 8The coins can form the following rows:¤¤ ¤¤ ¤ ¤¤ ¤Because the 4th row is incomplete, we return 3.
最直观的解法:
class Solution {public: int arrangeCoins(int n) { int cnt = 0; long long sum = 0; for(int i = 1; ; ++i){ sum += i; if(sum <= n) ++cnt; else break; } return cnt; }};
求根公式根据(l+1)*l <= n
int arrangeCoins(int n){ return sqrt(2 * (long)n + 1 / 4.0) - 1 / 2.0;}
二分法
int arrangeCoins(int n){ if(n <= 1) return n; long left = 0, right = n; while(left <= right){ long mid = left + (right - left)/2; long sum = ((1 + mid) * mid)/2; if(sum <= n){ left = mid + 1; }else { right = mid - 1; } } return left - 1;}
0 0
- LeetCode 441. Arranging Coins
- 441. Arranging Coins
- 441. Arranging Coins
- 441. Arranging Coins
- 441. Arranging Coins
- LeetCode 441. Arranging Coins
- 441. Arranging Coins
- 441. Arranging Coins
- leetcode 441. Arranging Coins
- 441. Arranging Coins
- Leetcode: 441. Arranging Coins
- LeetCode 441. Arranging Coins
- 441. Arranging Coins
- 【LeetCode】 441. Arranging Coins
- LeetCode 441. Arranging Coins
- [leetcode]441. Arranging Coins
- 441. Arranging Coins
- 441. Arranging Coins*
- C#之显示转换
- 基础算法
- C语言enum枚举类型解析
- iOS崩溃crash大解析
- JAVA中常用IO流类:FileReader和FileWriter
- 441. Arranging Coins
- spring 容器的简述
- 线程调度算法(策略)
- SpringMVC
- 设计模式--原则
- 欢迎使用CSDN-markdown编辑器
- 将本地文件上传到远程仓库
- Lottie安卓开源动画库使用
- 阿里巴巴Java开发手册-异常日志-日志规约